Может быть, он имел в виду предложить создать категорию "Объектно-ориентированное программирование", а в ней создать несколько подфорумов, каждый для обсуждения различных, связанных с ООП, вопросов? Так сказать - раздел для высоконаучных рассуждений об основах.
А чем не устраивает обсуждать вопросы по ооп в существующих форумах, как делали до сих пор?) в общем, не понимать моя
Похоже я первый кто такое предлагает, да Basilio прав, речь идет о разделах. Я просто как человек неизвестный допустим неумеха, решил с людьми на форуме практики по архитектурам обсуждать, зашел на этот форум и что-то кроме процедурника мне в глаза ничего не бросается, темы конечно можно создавать, но имхо этим темам нужен соответствующий раздел, если дискутировать по поводу АОП, тем может быть достаточно много, 1 тема = 1 подход в проектировании)) Вообще это просто моё личное предложение, если что не так, то считайте я просто форумом ошибся)
В данном случае ты просто ошибся форумом. Если "неизвестный". А если "неумеха" - то обсуждать с тобой такие практики - это будет вроде пятиклассников обсуждающих - как и куда приснунуть.
А это что форум исключительно для "Известных"? типа вип ложи? Звезды голливуда?) тогда мне интересно что есть "звездный путь", как этого достичь?))) Читая темы аудитории, я догадывался что ошибся форумом, одни только темы в разделе "PHP для профи" меня поразили (критике конечно не место, но тема "Зависает сокет", "Многопоточное скачивание файла" у профи (профессионала) это норм? или это нормальный уровень для "профи в пыхе", и не удивительно почему пыху дном называют)), вообще сложилось впечатление что известный здесь только какой-то Доктор Попов, тогда я - не известный . Да, меня мало кто знает в разработке, потому-как работаю я один , и занят исключительно Архитектурными решениями , поэтому нет времени у меня прославляться.
По-моему, это обычное для старожилов поведение: если пришел кто-то новый и активно предлагает новые порядки - надо его замочить.
Ты ошибся форумом не потому, что неизвестный. Просто ты несешь какую-то хрень, если честно. Тут никто ничем не хвастается, только вот ты пришел и стал петь, насколько ты крут. А мог бы придти, влиться в сообщество, помогать новичкам, выкладывать свои интересные решения (кстати для этого, внезапно, есть отдельная тема). Но нет. "Мы круты, а вы тут херней страдает ."
Наоборот. Форум начинающих. Ну... и не кончающих Ну, как ты и заметил. Может, конечно, и можно подтянуть уровень, но это долгое и неблагодарное занятие... зачем, когда есть пхпклаб
@Kutuz, мы в тебя верим, создавай. Лично я с удовольствием поучаствую в подобной дискуссии. А если она разрастется во что-то серьезное - там и раздел попросим.
Похоже. ) --- Добавлено --- Я не знаю что это такое. Я знаю только ООП )). А абстракция один из разделов ООП
Если эффективно, то можно и аспектами заняться, сам я пока не сталкивался с аспектно-ориентированными проектами, тыкнул бы кто) абривеатурой АОП я подразумеваю Абстрактно Ориентированное Программирование, а ООП это просто объекты инкапсуляция и наследование. На пхпклабе в принципе есть раздел "Вопросы по теории программирования" Паттерны , Абстракции , это все укладывается можно сказать в теорию
Проектирование архитектуры оперируя в основном исключениями?) решение вижу в первый раз) для себя увидел здесь обработчик событий Исключение === событие, такие события могут рождать цепочки обязаностей, перекидывая от одного обработчика данные к другому, такое событие может являться только "перебивающим" следующих слушателей Observable так как в его основе лежит выброс исключения, а будучи подмешанный EDD в событийную среду (инверсионое управление) можно расширив архитектуру варьировать и задавать приоритеты , тем самым подмешивая традиционных слушателей в очередь выполнения, так-же события рождаемые исключением внутри какого-нибудь компонента или подкомпонента, приводят к завершению текущего процесса компонента и передаче события (вылету) на "Фасадный слой" системы, где может далее использоваться рекурсия событий как традиционных так и исключающих, и соответственно на каждом уровне (каждой цепочке) обработчики производят действия, могут собирать данные(которые в итоге, где-нибудь можно обработать), производить действия в системе (запускать работу с компонентами - которые так-же могут привести к исключающим событиям). Это все напоминает цепочку обязанностей) Код (Text): interface EventInterface{ //...some structure public function getName(); } interface ListenerInterface{ //some structure, other setters public function isPreferredEvent(EventInterface $event); public function __invoke(EventProcess $ep, ListenerProcess $lp); } abstract class Listener implements ListenerInterface{ // abstraction /** @var string[] */ protected $preferred_event = []; public function isPreferredEvent(EventInterface $e){ return in_array($e->getName(),$this->preferred_events,true); } } class ExceptionListener extends Listener{ protected $_handler; public function __construct($event,$handler){ $this->preferred_event = !is_array($event)?[$event]:$event; $this->setHandler($handler); } public function setHandler(callable $handler){ $this->handler = $handler; } public function __invoke(EventProcess $ep, ListenerProcess $lp){ if($this->handler){call_user_func($this->handler,$ep,$lp);} } } abstract class ExceptionEvent extends \Exception implements EventInterface{ public function getName(){ return 'e:'.get_class($this); } } class SimpleExceptionEvent extends ExceptionEvent{ } class ExceptionEventManager{ protected $_listeners = []; public function setListeners(array $listeners){ $this->_listeners = $listeners; return $this; } public function __invoke(\Exception $e){ if($e instanceof ExceptionEvent){ // call listeners collection } } } $manager = new ExceptionEventmanager(); $manager->setListeners([ (new ExceptionListener('e:blabla1',function(){ throw new SimpleExceptionEvent('blabla2',$example_data); })), (new ExceptionListener('e:blabla2',function(){ throw new SimpleExceptionEvent('blabla3',$example_data); })) ]); set_exception_handler($manager); // other code throw new SimpleExceptionEvent('blabla2',['info' => 'MOE DATA']); сорри за оффтоп Здесь на лицо, гибрид. К слову таких вод возможностей скрестить достаточно много) Сам я разрабатываю почти все с нуля, я стараюсь не пользоваться либами-обертками, за все практики и время я написал достаточно компонентов, и бывают случаи что отдельные по смыслу и тематике компоненты , по реализации и по структуре похожи - а с виду и не скажешь например: сравните ABAC(https://habrahabr.ru/company/custis/blog/258861/#obligation) и Конечный Автомат(РВ) (https://habrahabr.ru/post/166777/)