Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.226.105] |
|
Страницы: (21) « Первая ... 3 4 [5] 6 7 ... 20 21 ( Перейти к последнему сообщению ) |
Сообщ.
#61
,
|
|
|
Цитата Flex Ferrum @ Точку и угол зрения. При таком взгляде на дизайн возникают интересные констрейнты типа "принцип минимальных привилегий", "один класс - одна задача", "ответственность класса" и т. п. Пока звучит как словоблудие Или вера. Добавлено Эти же вещи возникают при любом другом дизайне. |
Сообщ.
#62
,
|
|
|
Цитата D_KEY @ Эти же вещи возникают при любом другом дизайне. Нда? Можешь показать, какое они будут иметь отражение при процедурном дизайне? А при функциональном? |
Сообщ.
#63
,
|
|
|
А мне кажется ярые ООПшники немного начали бороться с самими собой, чтоб сделать идеальную ООП систему, хотя бы на бумаге, в книгах. И от этого начинается некая путаница.
Я вот как то про сервис локатор читал, читал, в терминах ООП, что мол де это антипаттерн, долой его и туда сюда, потом начал разбираться с этим более детально, в итоге он мне сильно начал напоминать паттерн абстрактная фабрика. Начал искать отличия, нашел - но эти отличия правда какие то расплывчатые у автора получились. Потом когда SOLID начал более детально курить, прочитал статьи, посмотрел примеры, попробовал, потом почитал что люди пишут помешанные на ООП и понял что многие начинают жестко путаться в своей же терминологии. Например Инверсию зависимостей очень часто путают с Внедрением зависимостей. Начинаются бестолковые споры о том, кто должен выключать переключатель и в каком слое и т.п. И короче понял что всего надо в меру. Особенно эта проблема выражена у программистов C#/Java. |
Сообщ.
#64
,
|
|
|
Цитата Wound @ И короче понял что всего надо в меру. Особенно эта проблема выражена у программистов C#/Java. Вот! |
Сообщ.
#65
,
|
|
|
Цитата D_KEY @ Пока звучит как словоблудие Или вера. Вообще то это целая уже научная отрасль. Просто на текущий момент ОО системы разрослись до таких масштабов, что их уже трудно поддерживать без SOLID. Особенно это касается всяких .NET проектов. Вот возьми какой нибудь EntityFramework, тебе там сразу какой нибудь MVC шаблон придется пилить. Делить все на слои, дальше как быть если с клиента что то надо будет передать на сервак, нужно предусмотреть чтоб все было дешево и быстро, вот тут всякие SOLID и начинают работать. А если ты пишешь: int fd = /* socket, open, etc. */ ... rc = write(fd, ...); ... То тут конечно оно тебе ничем не поможет. |
Сообщ.
#66
,
|
|
|
Цитата D_KEY @ Пока звучит как словоблудие Или вера. У тебя пункт на "вере", обрати внимание. |
Сообщ.
#67
,
|
|
|
Цитата Wound @ чтоб сделать идеальную ООП систему ИМХО, идеальных - не существует. Есть реально работающие и теоретические. |
Сообщ.
#68
,
|
|
|
Цитата Wound @ Вообще то это целая уже научная отрасль. Научным это будет тогда, когда будет формальное опредедение ООП. Добавлено Цитата Астарот @ У тебя пункт на "вере", обрати внимание. Спасибо, я знаю Добавлено Цитата Flex Ferrum @ Нда? Можешь показать, какое они будут иметь отражение при процедурном дизайне? А при функциональном? Пока ты не показал разницу между ОО и процедурным |
Сообщ.
#69
,
|
|
|
Цитата D_KEY @ Пока ты не показал разницу между ОО и процедурным Ты её не увидел (не захотел увидеть?). А это уже не мои проблемы. Но это был к тебе вопрос, на самом деле. Ты утверждаешь, что при альтернативных подходах это будет так же. Мне и интересно - как именно? Вот как реализуется "принцип минимальных привилегий" при процедурном подходе? А при функциональном? |
Сообщ.
#70
,
|
|
|
Цитата Wound @ Потом когда SOLID начал более детально курить SOLID прекрасен. Сам использую и всем рекомендую. Только это все не приблежает нас к пониманию термина ООП. |
Сообщ.
#71
,
|
|
|
Цитата D_KEY @ Только это все не приблежает нас к пониманию термина ООП. Тебя. *Fixed. |
Сообщ.
#72
,
|
|
|
Цитата Wound @ чтоб сделать идеальную ООП систему В процесс создания идеальной ООП системы обязательно входит два пункта: 1. доказательство ООПшности 2. доказательство идеальности |
Сообщ.
#73
,
|
|
|
Цитата Flex Ferrum @ Цитата D_KEY @ Пока ты не показал разницу между ОО и процедурным Ты её не увидел (не захотел увидеть?). А как тут можно понять? Ты ничего конкретного не сказал: И сразу пошел в сторону SOLID. Который тоже совершенно неформален. Добавлено Цитата Flex Ferrum @ Цитата D_KEY @ Только это все не приблежает нас к пониманию термина ООП. Тебя. *Fixed. Ну так расскажи |
Сообщ.
#74
,
|
|
|
Цитата D_KEY @ А как тут можно понять? Ты ничего конкретного не сказал: Если это троллинг, то очень грубый и толстый. Цитата Flex Ferrum @ Нужны соответствующие абстракции. Абстракция для "настроек", абстракция для "клиентского ввода", абстракция для "хранилищ данных", абстракция для "персистентное хранилище". В процедурной декомпозиции будет иначе: "Прочитали файл с настройками, получили клиентский ввод, проанализировали, определили тип создаваемой структуры, записали туда данные и выгрузили на диск". В функциональной... Похоже, без в функциональной монад не обойтись. Добавлено Цитата D_KEY @ И сразу пошел в сторону SOLID. Формален/не формален - это фигня. Расскажи, как применяются принципы SOLID при процедурном подходе. |
Сообщ.
#75
,
|
|
|
Цитата Flex Ferrum @ Цитата Flex Ferrum @ Нужны соответствующие абстракции. Абстракция для "настроек", абстракция для "клиентского ввода", абстракция для "хранилищ данных", абстракция для "персистентное хранилище". В процедурной декомпозиции будет иначе: "Прочитали файл с настройками, получили клиентский ввод, проанализировали, определили тип создаваемой структуры, записали туда данные и выгрузили на диск". В функциональной... Похоже, без в функциональной монад не обойтись. Я на это ответил. Потом ответил ты и т.д. В результате мы пришли лишь к тому, что я процитировал. Еще раз. Чтобы определить абстракции, тебе придется определить операции. Чтобы спроектировать систему, теме придется сделать все тоже, что ты описал для процедурного стиля. И вспоминаем, что начался этот пример с кода. Он написан процедурно. Но в нем есть абстракция "файла"(который может быть реальным файлом, сокетом, пайпом и т.п.), с операцией write. Цитата Формален/не формален - это фигня. На этом можно было бы закончить, но нет. Цитата Расскажи, как применяются принципы SOLID при процедурном подходе. А какая разница между ОО и процедурным? |