Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (7) 1 2 [3] 4 5 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Очередной холивар по методологиям, Флуд от "биографии" twin'a
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Цитата (twin @ 4.04.2016 - 16:00)
Хотя расскажи, если не лень. Может я действительно чего не догоняю.


Цитата
стандартные файлы, композер и либы[0] => /var/www/html/examplecms/web/index.php
стандартные файлы, композер и либы[1] => /var/www/html/examplecms/bootstrap.php
стандартные файлы, композер и либы[2] => /var/www/html/examplecms/vendor/autoload.php
стандартные файлы, композер и либы[3] => /var/www/html/examplecms/vendor/composer/autoload_real.php
стандартные файлы, композер и либы[4] => /var/www/html/examplecms/vendor/composer/ClassLoader.php
стандартные файлы, композер и либы[5] => /var/www/html/examplecms/vendor/composer/autoload_namespaces.php
стандартные файлы, композер и либы[6] => /var/www/html/examplecms/vendor/composer/autoload_psr4.php
стандартные файлы, композер и либы[7] => /var/www/html/examplecms/vendor/composer/autoload_classmap.php
стандартные файлы, композер и либы[8] => /var/www/html/examplecms/vendor/composer/autoload_files.php
стандартные файлы, композер и либы[9] => /var/www/html/examplecms/vendor/symfony/polyfill-mbstring/bootstrap.php
Настройка приложения [10] => /var/www/html/examplecms/src/ExampleCMS/Bootstrap.php
Абстракция на ФС [11] => /var/www/html/examplecms/src/ExampleCMS/Filesystem.php
Объект для работы с конфигами [12] => /var/www/html/examplecms/src/ExampleCMS/Config.php
Интерфейс [13] => /var/www/html/examplecms/src/ExampleCMS/Contract/Config.php
Интерфейс [14] => /var/www/html/examplecms/src/ExampleCMS/Contract/GetterSetter.php
Интерфейс [15] => /var/www/html/examplecms/src/ExampleCMS/Contract/Getter.php
конфигурация [16] => /var/www/html/examplecms/config/base.php
метаданные [17] => /var/www/html/examplecms/metadata/di.php
контейнер зависимостей [18] => /var/www/html/examplecms/src/ExampleCMS/Container.php
Посредник для текущего приложения [19] => /var/www/html/examplecms/src/ExampleCMS/Application.php
Интерфейс [20] => /var/www/html/examplecms/src/ExampleCMS/Contract/Container/Mediator.php
Фабрика [21] => /var/www/html/examplecms/src/ExampleCMS/Factory/Application.php
Интерфейс [22] => /var/www/html/examplecms/src/ExampleCMS/Contract/Container/UseServiceLocator.php
Сервис локатор[23] => /var/www/html/examplecms/src/ExampleCMS/Container/ServiceLocator.php
Приложение для веба[24] => /var/www/html/examplecms/src/ExampleCMS/Application/Web.php
Астрактное приложение [25] => /var/www/html/examplecms/src/ExampleCMS/Application/Application.php
Интерфейс [26] => /var/www/html/examplecms/src/ExampleCMS/Contract/Application.php
Контекст текущего запроса [27] => /var/www/html/examplecms/src/ExampleCMS/Context.php
Интерфейс [28] => /var/www/html/examplecms/src/ExampleCMS/Contract/Context.php
Фабрика [29] => /var/www/html/examplecms/src/ExampleCMS/Factory/Bundle.php
Фабрика [30] => /var/www/html/examplecms/src/ExampleCMS/Factory/Factory.php
Объект для работы с метаданными [31] => /var/www/html/examplecms/src/ExampleCMS/Metadata.php
Интерфейс [32] => /var/www/html/examplecms/src/ExampleCMS/Contract/Metadata.php
Фабркиа [33] => /var/www/html/examplecms/src/ExampleCMS/Factory/Metadata/Handler.php
Фабрика [34] => /var/www/html/examplecms/src/ExampleCMS/Factory/Theme.php
Посредник для запроса [35] => /var/www/html/examplecms/src/ExampleCMS/Request.php
Посредник для запроса [36] => /var/www/html/examplecms/src/ExampleCMS/Request/MySymfonyRequest.php
симфони либа [37] => /var/www/html/examplecms/vendor/symfony/http-foundation/Request.php
Интерфейс [38] => /var/www/html/examplecms/src/ExampleCMS/Contract/Request.php
стандартные файлы, композер и либы [39] => /var/www/html/examplecms/vendor/symfony/http-foundation/ParameterBag.php
стандартные файлы, композер и либы [40] => /var/www/html/examplecms/vendor/symfony/http-foundation/FileBag.php
стандартные файлы, композер и либы [41] => /var/www/html/examplecms/vendor/symfony/http-foundation/ServerBag.php
стандартные файлы, композер и либы [42] => /var/www/html/examplecms/vendor/symfony/http-foundation/HeaderBag.php
Менеджер форм  [43] => /var/www/html/examplecms/src/ExampleCMS/FormManager.php
Объект для работы с сессиями [44] => /var/www/html/examplecms/src/ExampleCMS/Session.php
Посредник для текущего роутера [45] => /var/www/html/examplecms/src/ExampleCMS/Router.php
Фабрика  [46] => /var/www/html/examplecms/src/ExampleCMS/Factory/Router.php
Роутер для веба  [47] => /var/www/html/examplecms/src/ExampleCMS/Router/Web.php
Абстрактный роутер  [48] => /var/www/html/examplecms/src/ExampleCMS/Router/Router.php
Интерфейс  [49] => /var/www/html/examplecms/src/ExampleCMS/Contract/Router.php
стандартные файлы, композер и либы [50] => /var/www/html/examplecms/vendor/altorouter/altorouter/AltoRouter.php
Менеджер событий [51] => /var/www/html/examplecms/src/ExampleCMS/EventManager.php
Интерфейс  [52] => /var/www/html/examplecms/src/ExampleCMS/Contract/EventManager.php
стандартные файлы, композер и либы [53] => /var/www/html/examplecms/vendor/filp/whoops/src/Whoops/Run.php
Объект для отдачи ответа [54] => /var/www/html/examplecms/src/ExampleCMS/Response.php
стандартные файлы, композер и либы [55] => /var/www/html/examplecms/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php
стандартные файлы, композер и либы [56] => /var/www/html/examplecms/vendor/filp/whoops/src/Whoops/Handler/Handler.php
стандартные файлы, композер и либы [57] => /var/www/html/examplecms/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php
метаданные [58] => /var/www/html/examplecms/metadata/handlers.php
Обработчик метаданных  [59] => /var/www/html/examplecms/src/ExampleCMS/Metadata/Handler/Basic.php
Обработчик метаданных  [60] => /var/www/html/examplecms/src/ExampleCMS/Metadata/Handler/Cache.php
Посредник для текущего кэша [61] => /var/www/html/examplecms/src/ExampleCMS/Cache.php
Фабрика [62] => /var/www/html/examplecms/src/ExampleCMS/Factory/Cache.php
Кэш в памяти  [63] => /var/www/html/examplecms/src/ExampleCMS/Cache/Memory.php
метаданные [64] => /var/www/html/examplecms/metadata/routes/web-setup.php
метаданные  [65] => /var/www/html/examplecms/metadata/modules.php
Обработчик метаданных  [66] => /var/www/html/examplecms/src/ExampleCMS/Metadata/Handler/Event.php
метаданные  [67] => /var/www/html/examplecms/metadata/events/application.php
Бандл  [68] => /var/www/html/examplecms/src/ExampleCMS/Bundle.php
Интерфейс  [69] => /var/www/html/examplecms/src/ExampleCMS/Contract/Bundle.php
Фабрики [70] => /var/www/html/examplecms/src/ExampleCMS/Factory/Repository.php
Фабрики [71] => /var/www/html/examplecms/src/ExampleCMS/Factory/Alias.php
Фабрики [72] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/View.php
Фабрики [73] => /var/www/html/examplecms/src/ExampleCMS/Factory/Action.php
Фабрики [74] => /var/www/html/examplecms/src/ExampleCMS/Factory/Form.php
Фабрики [75] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/Field.php
Фабрики [76] => /var/www/html/examplecms/src/ExampleCMS/Factory/Model.php
Фабрики [77] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/Grid.php
Фабрики [78] => /var/www/html/examplecms/src/ExampleCMS/Factory/Query.php
Фабрики [79] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/Layout.php
Фабрики [80] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/Row.php
Фабрики [81] => /var/www/html/examplecms/src/ExampleCMS/Factory/DataSource.php
Фабрики [82] => /var/www/html/examplecms/src/ExampleCMS/Factory/View/Column.php
Фабрики [83] => /var/www/html/examplecms/src/ExampleCMS/Factory/Database/Table.php
Фабрики [84] => /var/www/html/examplecms/src/ExampleCMS/Factory/Database/Connection.php
Фабрики [85] => /var/www/html/examplecms/src/ExampleCMS/Factory/Form/Binder.php
Фабрики [86] => /var/www/html/examplecms/src/ExampleCMS/Factory/Storage.php
метаданные  [87] => /var/www/html/examplecms/metadata/components/default.php
метаданные  [88] => /var/www/html/examplecms/metadata/components/modules.php
Объект запрос [89] => /var/www/html/examplecms/src/ExampleCMS/Module/Module/Query/Find.php
Объект запрос  [90] => /var/www/html/examplecms/src/ExampleCMS/Query/Query.php
Интерфейс  [91] => /var/www/html/examplecms/src/ExampleCMS/Contract/Query.php
Фабрика  [92] => /var/www/html/examplecms/src/ExampleCMS/Factory/Module.php
метаданные [93] => /var/www/html/examplecms/metadata/components/installer.php
Модуль  [94] => /var/www/html/examplecms/src/ExampleCMS/Module.php
Стандартная модель  [95] => /var/www/html/examplecms/src/ExampleCMS/Model.php
Интерфейс  [96] => /var/www/html/examplecms/src/ExampleCMS/Contract/Model.php
Интерфейс  [97] => /var/www/html/examplecms/src/ExampleCMS/Contract/Module.php
Фабрика  [98] => /var/www/html/examplecms/src/ExampleCMS/Factory/Helper.php
метаданные  [99] => /var/www/html/examplecms/metadata/responder/default.php
метаданные  [100] => /var/www/html/examplecms/metadata/responder/installer.php
Контроллеры представления   [101] => /var/www/html/examplecms/src/ExampleCMS/Responder/Layout/Basic.php
Контроллеры представления   [102] => /var/www/html/examplecms/src/ExampleCMS/Responder/Common.php
Объект который генерит html  [103] => /var/www/html/examplecms/src/ExampleCMS/Responder/Theme/Basic.php
Интерфейс [104] => /var/www/html/examplecms/src/ExampleCMS/Contract/Responder/Theme.php
метаданные [105] => /var/www/html/examplecms/metadata/themes/default.php
Контроллеры представления  [106] => /var/www/html/examplecms/src/ExampleCMS/Responder/View/Form.php
Контроллеры представления   [107] => /var/www/html/examplecms/src/ExampleCMS/Responder/View/Basic.php
Источника данных  [108] => /var/www/html/examplecms/src/ExampleCMS/DataSource/ContextModel.php
Объект запрос  [109] => /var/www/html/examplecms/src/ExampleCMS/Module/Configuration/Query/Find.php
Хранилище объектов  [110] => /var/www/html/examplecms/src/ExampleCMS/Storage.php
Расшереная базовая модель [111] => /var/www/html/examplecms/src/ExampleCMS/Model/Basic.php
Трейт для контролера представления  [112] => /var/www/html/examplecms/src/ExampleCMS/Layer/View/Model.php
Моделька для форм  [113] => /var/www/html/examplecms/src/ExampleCMS/Model/Form.php
Интерфейс  [114] => /var/www/html/examplecms/src/ExampleCMS/Contract/Model/Form.php
Контроллеры представления [115] => /var/www/html/examplecms/src/ExampleCMS/Responder/Grid/Form.php
Контроллеры представления [116] => /var/www/html/examplecms/src/ExampleCMS/Responder/Grid/Basic.php
Контроллеры представления [117] => /var/www/html/examplecms/src/ExampleCMS/Responder/Row/Basic.php
Контроллеры представления [118] => /var/www/html/examplecms/src/ExampleCMS/Responder/Column/Basic.php
Контроллеры представления [119] => /var/www/html/examplecms/src/ExampleCMS/Responder/Field/Label.php
Контроллеры представления [120] => /var/www/html/examplecms/src/ExampleCMS/Responder/Field/Base.php
Интерфейс [121] => /var/www/html/examplecms/src/ExampleCMS/Contract/Field.php
Контроллеры представления [122] => /var/www/html/examplecms/src/ExampleCMS/Responder/Field/Enum.php
Контроллеры представления [123] => /var/www/html/examplecms/src/ExampleCMS/Responder/View/Grid.php
Контроллеры представления [124] => /var/www/html/examplecms/src/ExampleCMS/Responder/Field/StringField.php
Контроллеры представления [125] => /var/www/html/examplecms/src/ExampleCMS/Responder/Field/Button.php
Шаблоны [126] => /var/www/html/examplecms/tpls/themes/default/layouts/setup.php
Шаблоны [127] => /var/www/html/examplecms/tpls/themes/default/views/form.php
Шаблоны [128] => /var/www/html/examplecms/tpls/themes/default/grids/basic.php
Шаблоны [129] => /var/www/html/examplecms/tpls/themes/default/rows/default.php
Шаблоны [130] => /var/www/html/examplecms/tpls/themes/default/columns/default.php
Шаблоны [131] => /var/www/html/examplecms/tpls/themes/default/fields/label/view.php
Шаблоны [132] => /var/www/html/examplecms/tpls/themes/default/fields/enum/form.php
Шаблоны [133] => /var/www/html/examplecms/tpls/themes/default/views/grid.php
Шаблоны [134] => /var/www/html/examplecms/tpls/themes/default/fields/string/form.php
Шаблоны [135] => /var/www/html/examplecms/tpls/themes/default/fields/button/view.php
Шаблоны [136] => /var/www/html/examplecms/tpls/themes/default/views/footer.php


Выписал основное, что бы было представление

10 шаблонов
14 контролеров представления
18 интерфейсов
25 фабрик
19 файлов стороних либ, композера и стандартных файлов которые есть в любом приложении
11 Файлов метаданных

Кстати именно в таком порядке они(файлы) и подключаются


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Цитата (twin @ 4.04.2016 - 21:29)
Не увидел я дешевизны. Это ты показал квинтэссенцию, но даже она проиграла.

Ну что поделаешь, не суждено видимо wink.gif


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 4.04.2016 - 11:46)
и у меня нет для них общего абстрактного класса (ну не юзаю я для этого полиморфизм), это значит плохая архитектура?

Если не юзать полиморфизм или его аналог - то конечно же плохо. Я бы сделал через интерфейс, причем хорошо документированный. Поскольку речь идет о деньгах, здесь строгость излишней не бывает. И тогда реализацию еще одной платежной системы очень легко делегировать другому программисту, просто передать ему интерфейс и дело в шляпе.

Цитата (twin @ 4.04.2016 - 11:46)
А то, что ты называешь плохой архитектурой, я не понял. Обоснуй.

Про архитектуру хорошо рассказывает Боб Мартин, мне к его словам добавить нечего. Как-то делился ссылкой на его лекцию про SOLID там он в том числе касается и вопросов проектирования.

Цитата (twin @ 4.04.2016 - 11:46)
И еще, мне нравится, как сказал Гаррет.

Не знаю кто это такой. Боб Мартин, Josh Lockhart, Фабиен Потенциер, GoF - вот эти у меня в авторитете.



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4256
Пользователь №: 29002
На форуме: 5 лет, 4 месяца, 2 дня
Карма: 147




ООП не столько дает эффективную производительность в конечном итоге, сколько дисциплинирует. это как писающему по всей квартире младенцу привить необходимость горшка. производительность естественно зависит от реализации и ООП тут никаким боком не накладывает свою тяжелую лапу. всяко можно сделать.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 3 месяца, 22 дня
Карма: 27




Мужики сделайте уже тему: Процедурный стиль VS ООП

Когда начинаются подобные холивары, переносить разговор в эту тему. smile.gif


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Цитата (Медведь @ 4.04.2016 - 22:48)
Когда начинаются подобные холивары, переносить разговор в эту тему.

лол, вообще то все закончилось уже


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (chee @ 4.04.2016 - 17:43)
Ну что поделаешь, не суждено видимо

Нет. Не суждено. Если на черное мне говорят, что это белое, мне не суждено этого понять. Особенно после этой портянки. Вот тут то действительно дешивизна. smile.gif

Цитата (Ron @ 4.04.2016 - 18:30)
Если не юзать полиморфизм или его аналог - то конечно же плохо.
Это не обоснование. Я не привык верить на слово. Чем плохо? И еще, что имеется под "аналог"?
Цитата (Ron @ 4.04.2016 - 18:30)
Про архитектуру хорошо рассказывает Боб Мартин, мне к его словам добавить нечего.
Вся беда в том, что на самом деле крайне мало специальной литературы по разработке веб-приложений. У Мартина много полезных советов, но не все они применимы к веб. А за неимением альтернативы вы и пытаетесь натянуть презерватив на тыкву.

Не устану повторять. Веб-приложение, это не десктоп, где единожды запущенные процессы всегда под рукой. В идеале это набор мелких приложений, формирующих страницы. Принцип у них прост: отработал - умри. (я сейчас имею ввиду PHP разумеется). Если бездумно применять принципы десктопных приложений к веб, то и получается то, что у chee. Гора родила мышь.

Но даже в построении десктопных архитектур свет не сошелся клином на одном Мартине. И его критикуют в полный рост. Или вот еще на вскидку. Да полно, если порыться. И это в рамках ООП, что говорить о том, что есть и совсем иные приципы построения архитектуры.

Я про это писал уже. Людям свойственно ошибаться. И всегда нужно искать альтернативные мнения, дабы вывести для себя оптимальные правила и законы. А молиться одной иконе по принципу религии "не думай, просто верь", это не для меня.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 5.04.2016 - 04:39)
Чем плохо?

Ветвлением, загромождением бизнеслогики, усложнением кода, сложностью модификации и чтения, как следствие бОльшей вероятностью появления багов - да всем! =) На процедурке очень сложно добиться хорошей абстракции от вспомогательных подсистем. Приходится применять все те же аналоги ООП-шных паттернов, той же фабрики например.

Цитата (twin @ 5.04.2016 - 04:39)
И еще, что имеется под "аналог"?

Говоря в контексте процедурки, имею ввиду подключение различных файлов, в которых содержатся функции для работы с конкретной платежной системой. Только названия функций везде одинаковые. Таким образом выбор нужной системы заключается лишь в подключении соответствующего файла. Это если на процедурке. В ООП примерно тоже самое только + еще можно создать интерфейс и фабрику. В ней можно реализовать синглтон, чтобы не заморачиваться с хранением экземпляра платежной системы, если работа идет из нескольких методов. Удобно.

Цитата (twin @ 5.04.2016 - 04:39)
Не устану повторять. Веб-приложение, это не десктоп, где единожды запущенные процессы всегда под рукой.

Вот это убого, если объекты никогда не умариют. Тогда они превращаются в ту же процедурку со всеми отвратительными ужимками, такими как отслеживание состояния, флаги событий и прочая ужаснейшая высоко-баго-подвеженная рутина.

Это сообщение отредактировал Ron - 5.04.2016 - 07:12


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Вообще основное разногласие по архитектурам у нас идет по базовому принципу. Я уже писал, что почему то считается грамотной архитектурой принцип фреймворка.

Собственно вопрос не в том, какую методологию использовать. Просто почему то рассово верной считается именно такая архитектура, где первична инфраструктура. А это больше подходит для десктопных приложений или фреймворков. Можно и на ООП написать вполне экономичное и прозрачное приложение (я правда не вижу смысла ограничиваться одной методологией и ратую за мультипарадигму). Важно как именно протекают процессы при формировании страницы. Сейчас картинку нарисую.

В вашем рассово-верном ООП приходится запускать весь "фреймворк" одновременно. А он уже решает, какие классы из application использовать. У меня все наоборот. Первично приложение, а оно уже смотрит, что именно заюзать из окружения. Инфраструктура минимальна. Здесь "фреймворк", это не монолит, как у сhee, а сборник библиотек. Поэтому и нет столько одновременно заюзаных классов и файлов. А так же намного упрощается логика прохождения по цепочке. Это различия по Push и Pull принципам взаимодействия приложения и окружения.

Вот что задействовано в генерации страницы у меня в поделке из баттла.
Цитата
    [1] => /smc.irbis-school.com/index.php (вход)
    [2] => /smc.irbis-school.com/config/config.php (пользовательская конфига)
    [3] => /smc.irbis-school.com/config/system.php (системная конфига)
    [4] => /smc.irbis-school.com/core/library/irb_default.php (библиотека вспомогательных функций)
    [5] => /smc.irbis-school.com/application/router.php (роутер)
    [6] => /smc.irbis-school.com/core/library/irb_url.php (класс работы с URL)
    [7] => /smc.irbis-school.com/application/controllers/main_controller.php (текущий контроллер)
    [8] => /smc.irbis-school.com/application/base/model.php (модель)
    [9] => /smc.irbis-school.com/application/base/view.php (базовая вьюшка)
    [10] => /smc.irbis-school.com/application/views/main_view.php (текущая вьюшка, наследник)
    [11] => /smc.irbis-school.com/core/library/irb_template.php (шаблонизатор)
    [12] => /smc.irbis-school.com/application/base/helpers/look.php (класс пользовательских доступов)
    [13] => /smc.irbis-school.com/core/db/mysqli.php (класс работы с СУБД)
    [14] => /smc.irbis-school.com/core/library/irb_tree.php (библиотека дерева)
    [15] => /smc.irbis-school.com/veb/skins/ru/tpl/index.tpl (макет)
    [16] => /smc.irbis-school.com/veb/skins/ru/tpl/main.tpl (шаблон страницы)

16 файлов, которые сами говорят за себя. На порядок меньше при той же функциональности.

Так что нам не понять друг друга. У нас совершенно разные подходы изначально. Вся печенюшка в том, что я легко могу юзать любую парадигму. Допустим файл irb_default.php, это просто набор функций, не класс. Основные классы статичны. В библиотеках попадаются и объекты. Шаблонизатор тот же к примеру. Я могу спокойно применять в своей схеме основные принципы SOLID. А могу и отступить, там где они не пригодны.

А вы скованы рамками. Так как не можете юзать ничего кроме объектов. Так уж у вас все устроено.
Цитата
Приходится применять все те же аналоги ООП-шных паттернов, той же фабрики например.

Да, процедурка (как ты говоришь, хотя это мультипарадигма) не ограничивается рамками. Я могу использовать всё. Там, где это необходимо.

Цитата
Ветвлением, загромождением бизнеслогики, усложнением кода, сложностью модификации и чтения, как следствие бОльшей вероятностью появления багов - да всем! =)
Теперь сравни портянку от chee и мою. И скажи, положа руку на сердце. У кого загромаждение и большая вероятность багов? И где у меня сложность модификации?

Ну и картинка, чтобы понятнее было, о чем я говорю. Библиотеки у меня, это и хэлперы, и модули и другие расширения.

Присоединённое изображение
Присоединённое изображение


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (twin @ 5.04.2016 - 07:13)
Да, процедурка (как ты говоришь, хотя это мультипарадигма) не ограничивается рамками. Я могу использовать всё. Там, где это необходимо.

Мультипарадигма это уже неинтересно. =)



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Ron @ 5.04.2016 - 03:35)
Мультипарадигма это уже неинтересно. =)

Вот когда не интересно, тогда и рождается фанатизм. ООП ради ООП. smile.gif Или культ Карго.

Вот это особенно место:
Цитата
Недопонимание могут приводить к появлению специальных стандартов кодирования (если речь идет о языках программирования и библиотеках) или изменению процессов разработки таким образом, чтобы уберечься от несуществующих проблем или использовать якобы наиболее передовые техники и методики.

Цитата
чтобы добиться успеха в разработке ПО, нам нужно не просто слепо перенимать чьи-то подходы, а критически их анализировать. Это не значит, что не нужно использовать чужой опыт и признавать авторитеты, это лишь значит, что время от времени нужно пересматривать свои подходы и смотреть, не изменилось ли ваше к ним отношение за прошедшее время.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




twin, как ты относишся к битриксу?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (chee @ 5.04.2016 - 04:45)
twin, как ты относишся к битриксу?

Никак. Лет пять назад ковырял, даже не помню уже.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




twin, ты посмотри, демо версия у них есть, построен он по твоим подходам, в функционала в разы больше. Сделай выводы


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Какие выводы я должен сделать? Битрикс, это универсальная СMS. Ну много там функциональности, и что? У меня ровно столько, сколько нужно для решения текущих задач. Не понял я аналогии...


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (7) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса