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

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

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



146%
******

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




chee
Цитата
Arh, думай как хочешь

А можно думать как то по другому?

chee
Цитата
где это написано? Кто эти многие?

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



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

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



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

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

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


Цитата (chee @ 6.04.2016 - 16:46)
где это написано? Кто эти многие?

Я не веду дневник, где записываю фамилии smile.gif На хабре встречал такие мнения, в статьях, когда рыл информацию о DI.

Но вот из того, что последнее читал, про сервис-локатор здесь, раньше где то ссылки приводил, лень искать.

Он же про Property Injection. Не так резко, но все же.

У Фаулера в его знаменитой статье (хороший перевод кстати) нет даже намека на возможность таких инъекций. Не думаю, что он о них не знает, просто считает, что они даже упоминания не стоят.

Ну и для полноты картины, не про DI, а про общие принципы вот это. Вообще чувак прикольно пишет. Я прям зачитывался. smile.gif


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

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

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

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

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



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

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




Цитата (twin @ 6.04.2016 - 21:53)
Он же про Property Injection. Не так резко, но все же.

Ему отвечают http://sergeyteplyakov.blogspot.ru/2013/01...085231387725747. Статейка само по себе - предостережение, ничего осуждающего такой подход, в ней нет.

По остальным ссылкам ничего конкретного.

Цитата (Arh @ 6.04.2016 - 21:22)
То есть сделать в конструкторе какую то стартовую настройку, получить данные с кэша или еще что на основе инъекций не получится.

Нет, не получится. Больше скажу конструкторы в компонентах моей CMS запрещены. Но если зависимости все таки нужно внедрять через конструктор, то для этого в моём контейнере есть посредник, который может подготовить любой объект, и поместить его в контейнер.

Вот пример

<?php

namespace ExampleCMS;

class Logger implements \ExampleCMS\Contract\Container\Mediator
{

public function get()
{
$name = $this->config->get('base.logger.name');
$level = $this->config->get('base.logger.level');
$filename = $this->config->getBasePath() . $this->config->get('base.logger.path');
$levels = \Monolog\Logger::getLevels();

return new \Monolog\Logger($name, array(
new \Monolog\Handler\StreamHandler($filename, $levels[$level])
));

}
}



У контейнера будет запрошен ExampleCMS\Logger, но когда контейнер инициализирует этот объект, то он посмотрит у него интерфейс и если интерфейс \ExampleCMS\Contract\Container\Mediator, то вызовет у объекта метод get, который должен будет вернуть конечную зависимость, которая в последствии и будет положена в контейнер под ключом ExampleCMS\Logger


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

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

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



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

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

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


Цитата (chee @ 6.04.2016 - 19:24)
Ему отвечают

Ну ясное дело. Я и против твоей схемы ничего не имею. Я просто приводил это в пример, как плюрализм мнений в ООП. Как неортогональность шаблонов. Только и всего.

Цитата (chee @ 6.04.2016 - 19:24)
Статейка само по себе - предостережение, ничего осуждающего такой подход, в ней нет.
Цитата
Именно поэтому использование сервис локатора или внедрение обязательных зависимостей через свойства являются антипаттернами. В этом случае невероятно просто использовать класс неправильно и сложно использовать правильно.


И еще. Ты и сам как то инициировал холивар про setters/getters и публичные свойства. Многие присвоения простых значений напрямую считают антипаттрном, что уж про зависимости говорить.

Только не нужно сейчас его повторять, да и я тут как раз на твоей стороне. smile.gif


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

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

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

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

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



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

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

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


Ну вот, чего добру пропадать smile.gif
По мотивам чиркнул статейку в бложек. Ничего не напутал?
Ну и еще одна по смежной теме.


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

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

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

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

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



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

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




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

Это просто моё мнение, такое же бессмысленное что и то что находится по ссылкам.


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

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

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



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

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

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


Цитата (chee @ 9.04.2016 - 13:26)
Он озвучивает мысль и расписывал почему именно всё именно так как он думает, проводил анализ.

Я писал просто более приземленно. Не для таких, как ты, мнение которых давно сформировалось и изменить его уже вряд ли возможно. Тебе это кажется дичью по нескольким причинам.
1. Слишком простым языком написано, чтобы было убедительно после того, как ты изучил кучу материала и находишься на ступень выше этой статьи в терминологии.
2. Ты слишком погряз в свое видение с одного бока, чтобы менять свои устои на основе какой то "сомнительной статейки". Да это было бы просто обидно, черт подери! smile.gif
3. Ну и личное неприятие. Я же нуб в твоих глазах.

Но эти статьи - предостережение тем, кто только начинает разбираться в ситуации. Чтобы не впадали в крайности. Пока им не вбили в голову однобокого мнения и не запугали bad-practices. А для них как раз не нужен глубокий анализ, приправленый сложными материями и терминами, а нужны мирские ассоциации.

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


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

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

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

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

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



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

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




twin, да чего там копать? В статье проходит одна единственная мысль "делай с умом". Этой мудрости не одна сотня лет, о чем здесь дальше спорить!? Мультипарадигма и вовсе не то не сё - не вашим ни нашим, с точки зрения холивара.

А я вот наоборот всем рекомендую изучать паттерны и антипаттерны, причем так, чтобы они от зубов отскакивали. И повторять их с регулярной периодичностью, хотя бы раз в 2-3 месяца.

Только не надо выламывать задачу под паттерн, объявлять компромиссные баги - фичами и радоваться жизни. Нужно паттерн подбирать к задаче. Неспеша, хорошо прокрутив сценарии:

1. рантайма
2. пользы для дальнейшего расширения.
3. насколько производительность просядет относительно удобства

И когда он идеально встанет на свое место, только тогда брать в проект. Даже несмотря на "жесткий отбор" паттерны очень часто находят применение. Гораздо чаще чем кажется, поэтому их надо знать, чтобы не городить свой убогий велосипед.

Но важнее, конечно, антипаттерны. Ваш покорный слуга реализовал в своем творчестве наверное штук 5 сразу. Сам же потом исправил, даже еще не представлял о существовании каких-то антипаттернов. Просто понаитию и личному опыту. Изучи их раньше, сэкономил бы уйму времени.

Этот спор я давно уже перестал понимать, сразу как только прозвучали фразы "делай с умом" и "я испольую мультипарадигму". С ними невозможно спорить и по сути они вывели twin из-под удара полностью. Всё, спор закончен, его больше нет. wink.gif



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

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



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

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




Ron +1


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

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

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



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

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

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


Цитата (Ron @ 9.04.2016 - 16:55)
twin, да чего там копать? В статье проходит одна единственная мысль "делай с умом". Этой мудрости не одна сотня лет, о чем здесь дальше спорить!?

Согласен. Да и спора больше нет никакого. Собственно я и писал для того, чтобы таких споров было как можно меньше.

А копать нужно для того, чтобы не останавливаться на достигнутом. Здесь часто можно слышать мнения, что паттерны, это передовейшие технологии, что без них наступит хаос, что это серебряная пуля и так далее. Очень редко кто говорит, что паттерны нужно применять не везде и всегда, а с умом, взвешав все за и против. И сознательное нарушение паттерна не является антипаттерном, если этим достигнут определенный профит.

Цитата (Ron @ 9.04.2016 - 16:55)
Только не надо выламывать задачу под паттерн, объявлять компромиссные баги - фичами и радоваться жизни. Нужно паттерн подбирать к задаче. Неспеша, хорошо прокрутив сценарии:

1. рантайма
2. пользы для дальнейшего расширения.
3. насколько производительность просядет относительно удобства

И с этим полностью согласен. Только такие мысли тут раньше звучали крайне редко. Потому я и попытался собрать все в кучу и описать простым, доступным языком. Кстати, очень похоже на твои выводы, это давно уже советовал Фаулер:

Цитата
Не бойтесь потратить время на изучение паттернов
- Хорошо подумайте, когда лучше всего применить паттерн (не слишком рано)
- Хорошо подумайте, как лучше всего реализовать паттерн в его наипростейшей форме, а уже потом вносите дополнения
- Если вы применили паттерн, а потом поняли, что без него было бы лучше - убирайте, не сомневайтесь.


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

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

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

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

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



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

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




Цитата (twin @ 10.04.2016 - 07:23)
Кстати, очень похоже на твои выводы, это давно уже советовал Фаулер:

Фаулер, да? Мне это очень лестно, что мои умозаключения совпадают с уважаемыми людьми мирового уровня. Хотя бы частично. Честно говоря не читал его работ, я всё больше на Мартина ориентируюсь.


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

Опции темыСтраницы: (7) « Первая ... 5 6 [7]  Ответ в темуСоздание новой темыСоздание опроса