Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.128.199.162] |
|
Страницы: (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... Поэтому и вопрос D_KEY'я (про кусок кода) немного, гм, странен. |
Сообщ.
#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 — передача процедур/указателей-на-процедуры как параметров в другие процедуры. |