Использование объектной парадигмы для атомарного целочисленного значения для цели отображения: правильно или неправильно? - PullRequest
1 голос
/ 13 января 2011

Я работаю над финансовыми показателями для игр в покер. Все суммы приведены в центах. Следовательно, тип является целым числом. Но мне нужно отобразить суммы несколькими способами. Пока я работаю так (PHP):

class Amount
{
    private value;

    public function set($v) ...
    public function get() ...
    public function add($v) ... // $v is integer
    ...
    public function displayLikeThis() ...
    public function displayLikeThat() ...
}
$value1 = new Amount(100);
$value2 = new Amount(200);
// ...
// Working with value1 and value2
// ...
// Then need to do value1 += value2 : 
$value1->add( $value2->get() );
/*
Note : 
I can also check parameter type in
the add method. Then, the previous line could be :
$value1->add( $value2 );
*/
echo $value1->displayLikeThis();

Это работает как шарм, но поскольку PHP не может перегружать операторы, мой код довольно «тяжелый», и мне интересно, правильно ли я это делаю. Наконец, это все еще "объектная парадигма", чтобы работать так:

$value1 = 100;
$value2 = 200;
$val = new Amount($value1 + $value2);
echo $val->display1();

При выполнении операций код становится меньше, но я чувствую себя неправильно, создавая новый объект Amount каждый раз, когда просто хочу отобразить значение (и в этом случае имя класса будет AmountDisplayer).

Мой вопрос: каков правильный способ POO для работы с целочисленными значениями?

Спасибо

1 Ответ

0 голосов
/ 13 января 2011

Если метод домена добавить является частью вашего домена , да, это правильный путь. Если нет, в моем варианте $value1->add($value2) не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...