[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ООП хорошо, но слишком много ООП это плохо
volter9
В начале Интернета, разработчики были обречены работать с нищими, сухими, императивными, ужасными языками программирования. Все было сделано через строгие функции и операторы. Там не было объектов. Не было интерфейсов. Не было внедрение зависимостей.

К примеру, что бы сделать что то простое как сложение, нашим папам приходилось писать: 1+1. Да, правда.

К счастью сейчас, у нас есть PHP 5.3 и его прочная ООП реализация. SimplePHPEasyPlus позволит вам сложить два числа модным способом, используя реальный ООП. SimplePHPEasyPlus быстрый, простой, гибкий и хорошо протестированный. Что бы сложить два числа, все что вам надо сделать это:

use SimplePHPEasyPlus\Number\NumberCollection;
use SimplePHPEasyPlus\Number\SimpleNumber;
use SimplePHPEasyPlus\Number\CollectionItemNumberProxy;
use SimplePHPEasyPlus\Parser\SimpleNumberStringParser;
use SimplePHPEasyPlus\Iterator\CallbackIterator; // Заметка: WTF? Это даже не используется
use SimplePHPEasyPlus\Operator\AdditionOperator;
use SimplePHPEasyPlus\Operation\ArithmeticOperation;
use SimplePHPEasyPlus\Operation\OperationStream;
use SimplePHPEasyPlus\Engine;
use SimplePHPEasyPlus\Calcul\Calcul;
use SimplePHPEasyPlus\Calcul\CalculRunner;


$numberCollection = new NumberCollection();

$numberParser = new SimpleNumberStringParser();

$firstParsedNumber = $numberParser->parse('1');
$firstNumber = new SimpleNumber($firstParsedNumber);
$firstNumberProxy = new CollectionItemNumberProxy($firstNumber);

$numberCollection->add($firstNumberProxy);

$secondParsedNumber = $numberParser->parse('1');
$secondNumber = new SimpleNumber($secondParsedNumber);
$secondNumberProxy = new CollectionItemNumberProxy($secondNumber);

$numberCollection->add($secondNumberProxy);

$addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');

$operation = new ArithmeticOperation($addition);

$engine = new Engine($operation);

$calcul = new Calcul($engine, $numberCollection);

$runner = new CalculRunner();

$runner->run($calcul);

$result = $calcul->getResult();
$numericResult = $result->getValue(); // 2


Эта библиотека доступна для продакшена, энжой!

https://github.com/Herzult/SimplePHPEasyPlus

Цитата
SimplePHPEasyPlus быстрый, простой, гибкий и хорошо протестированный


:lol:

ООП хорошо когда он реально нужен, но когда его слишком много или используется для простой задачи, нахрен он не нужен.

_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.