Здравствуйте, Ночной Смотрящий, Вы писали:
V>>С пробуждением.
V>>OCP из SOLID — давно мейстрим в дотнете, начиная выхода linq и разработанной для него технологии методов-расширений.
НС>Попробуй теперь доказать что OCP и SOLID требует выставлять кишки реализации в публичный API.
Кошмар. ))
С каких пор непрозрачные типы стали "кишками"?
И как ты умудрился скипнуть упоминание концептов (пусть они даже явно в языке отсутствуют, но присутствуют в реализации компилятора, который распознаёт некоторые концепты, и еще присуствует в единообразном АПИ многих вещей, т.е. "концепт" держится в голове).
НС>Я уж не говорю о том что SOLID это совершенно бессистемно надерганный набор принципов и эвристик, и единственный его плюс в том что это модно и молодежно.
За 15-20 лет у тебя ничего не изменилось, смотрю? ))
Но мир IT немного изменился.
Просто ты не понимаешь как именно (или лишь тщательно показываешь позицию, согласно которой и не желаешь понимать "всякую ерунду").
Мир IT от забавного кратковременного хаоса периода от конца 90-х до середины нулевых поступательно возвращается к классике конца 70 — второй половины 90-х.
Принципы SOLID выработались в это время, во времена "классики".
SRP 1979г
Liskov P 1987
OCP 1988 — Мейер, начало эпохи контрактного программирования (частично вы его используете в своей либе по ссылке)
DIP (некоторые регулярно путают с IoC, судя по обсуждениям оных на этом сайте, что тоже кошмар) и ISP — естественные следствия этапов декомпозиции проблем, артефакты назначения ролей подсистемам (например, как часть системного подхода к проектированию в СССР)
Мартин просто объединил эти принципы в единую (парадигму?) как раз в разгар хаоса начала нулевых, и сдаётся мне, что именно в кач-ве ответа на происходящий хаос, когда кол-во непрофессионалов в IT сравнялось или даже превысило кол-во профессионалов.
Ведь Мартин был профессионалом и признанным спецом с 70-х годов, но даже еще в середине 90-х не помышлял кричать о SOLID.
(а SOLID — это, несомненно, крик... вернее, раздражительный окрик, или удар линейкой по пальцам, бгг)
Профессионалам эти принципы, понятное дело, как собачке стоп-сигнал, особенно последние два, и их споры об АПИ единичного асинхронного мютекса должны вызвать лишь соотв.улыбку, уместную при наблюдении спора по пустякам.
Потому что-то вообще вслух на эту тему произносить имело смысл разве что о некоем едином АПИ для целого семейства близких по назначению объектов (что я и делал, собсно).
Остальное ("попробуй доказать", "кишки" и т.д.) выглядит как виденная уже не раз специфическая реакция даже на малейшую критику.
(чем задолбал уже порядком, извиняйте за прямоту)
И говорит о том, что взаимодействовать с тобой возможно только вертикально — когда ты командуешь или когда тобой командуют, но никогда горизонтально, где команда совместно вырабатывает решения.
Тут или ты будешь выдавливать людей, или тебя выдавят.
(это предупреждение молодым/неопытным, как грится)