
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Страницы: (21) « Первая ... 7 8 [9] 10 11 ... 20 21 ( Перейти к последнему сообщению ) |
Сообщ.
#122
,
|
|
|
Я читал, спасибо. Неплохое описание практик ![]() Добавлено Цитата Qraizer @ Как структурный подход является лишь списком рекомендаций, позволяющий просто и с меньшим влиянием человеческого фактора писать сложные и масштабируемые программные комплексы, так и ООП суть просто набор рекомендаций для проектирования таких вот сложных и масштабируемых программных комплексов. Именно. Согласен. Добавлено Статья хреновая, кстати. |
Сообщ.
#123
,
|
|
|
В таком случае процедурного, функционального, аспектного, событийного и прочих подходов тоже не существует, ибо всё это - лишь набор практик разной степени эффективности.
![]() |
Сообщ.
#124
,
|
|
|
Цитата Flex Ferrum @ В таком случае процедурного Разбиение программы на процедуры. Цитата функционального Представление процесса вычисления в виде вычисления функций в математическом смысле. Хорошо формализовано. Цитата аспектного Практически не применял и очень мало знаю. |
Сообщ.
#125
,
|
|
|
Цитата D_KEY @ Разбиение программы на процедуры. Можно делить, можно не делить. Простейшая декомпозиция, один из примитивных инструментов. Зачем отдельный подход для этого выделять? ![]() Цитата D_KEY @ Представление процесса вычисления в виде вычисления функций в математическом смысле. Если я переименую процедуры в функции - вроде то же самое получу. А ещё в Паскале функции были. Разве это повод для выделения отдельного, специального подхода? ![]() На самом деле, не ясно, чем тебе тогда да хотя бы Кеевское определение ООП не устраивает. ![]() ![]() ![]() |
![]() |
Сообщ.
#126
,
|
|
![]() Мда. Любая хрень с этими признаками безусловно будет жопой. Вот только жопа не обязательно обладает этими признаками. Иногда это завтра дидлайн. |
Сообщ.
#127
,
|
|
|
Цитата D_KEY @ Представление процесса вычисления в виде вычисления функций в математическом смысле. Хорошо формализовано. То есть нельзя программировать функционально не в математическом смысле? ![]() ![]() |
Сообщ.
#128
,
|
|
|
Вся наша жизнь в нашем же понимании - куча объектов взаимодействующих друг с другом. Поэтому не удивительно, что любое программирование в конечном итоге немного ООП, даже если вы на ассемблере тыкаете регистры процессора.
Лично я, в последнее время избегаю термина "ООП" в аргументации. По мне, разделение проходит по оси императивность/функциональность, так как именно на этой границе рвутся шаблоны из-за иммутабельности и (прости господи) чистоты функций. |
Сообщ.
#129
,
|
|
|
Цитата applegame @ Вся наша жизнь в нашем же понимании - куча объектов взаимодействующих друг с другом. Поэтому не удивительно, что любое программирование в конечном итоге немного ООП, даже если вы на ассемблере тыкаете регистры процессора. Наша жизнь с тем же успехом событийно-ориентирована ![]() ![]() |
Сообщ.
#130
,
|
|
|
Ну так ООП - это про дизайн, а не про императивщину/функциональщину.
![]() |
Сообщ.
#131
,
|
|
|
Цитата Flex Ferrum @ Ну так ООП - это про дизайн, а не про императивщину/функциональщину. ![]() Так и он про Цитата applegame @ разделение проходит И в чем-то прав, поскольку разделение, по крайней мере в мозгах программистов, нынче проходит именно тут. |
Сообщ.
#132
,
|
|
|
Цитата Астарот @ И в чем-то прав, поскольку разделение, по крайней мере в мозгах программистов, нынче проходит именно тут. Да. В этом он прав. Но ООП - оно ведь вообще не про это, если рассудить то. ООП про то, как дизайнить. А имплементить ты можешь хоть императивно, хоть функционально, хоть квадратно-гнездово на CSS... ![]() |
Сообщ.
#133
,
|
|
|
Цитата applegame @ Лично я, в последнее время избегаю термина "ООП" в аргументации. По мне, разделение проходит по оси императивность/функциональность, так как именно на этой границе рвутся шаблоны из-за иммутабельности и (прости господи) чистоты функций. +1 Добавлено Цитата Астарот @ А что такое вообще "математический смысл"? Дай определение, будь ласка ![]() https://ru.m.wikipedia.org/wiki/Функция_(математика) Добавлено Цитата Flex Ferrum @ Если я переименую процедуры в функции - вроде то же самое получу. А ещё в Паскале функции были. Разве это повод для выделения отдельного, специального подхода? ![]() Есть повод или нет, но разделение четкое. Цитата На самом деле, не ясно, чем тебе тогда да хотя бы Кеевское определение ООП не устраивает. ![]() Тем, что в узком смысле под него не попадает почти ничего из существующих систем (а большинство языком не имеет поддержки ООП). А в широком - почти все из существующих ![]() Бесполезное определение. Цитата Ну или, проще говоря, жопа есть, а слова, получается, нету. Будем называть "жопу" как набор признаков: две булки, щель между ними, а в щели - анальный сфинктор. ![]() Так а что делать, если сторонники того, что у ООП есть четкое определение, вместо того, чтобы его озвучить, как раз занимаются перечислением признаков и еще учат, как дизайнить по ООП ![]() Добавлено Цитата Flex Ferrum @ Поэтому и вопрос D_KEY'я (про кусок кода) немного, гм, странен. Зависит от того, ради чего задается вопрос ![]() |
Сообщ.
#134
,
|
|
|
Цитата D_KEY @ Так а что делать, если сторонники того, что у ООП есть четкое определение, вместо того, чтобы его озвучить Озвучивал. Здесь: ООП - в топку! (сообщение #3799452) Прекрасное определение. Если тебя оно не устраивает - ![]() |
![]() |
Сообщ.
#135
,
|
|
S — каждая процедура выполняет «что-то одно». O — для любой процедуры можно написать другую, с такой же сигнатурой, выполняющую какой-то дополнительный код + код исходной процедуры. Также можно воспользоваться замыканиями, если язык позволяет. L — такая расширенная процедура будет являться (с некоторыми оговорками, справедливыми, впрочем и для классов) подтипом оригинальной. Также можно воспользоваться замыканиями, если язык позволяет. I — см. S, всё аналогично. D — передача процедур/указателей-на-процедуры как параметров в другие процедуры. |