Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 171 172 [173] 174 175 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#2581
,
|
|
|
|
Цитата korvin @ Цитата D_KEY @ Кроме того, Степанов говорит, что нужно идти не от классов, а от алгоритмов и вообще действий, а потом уже определять сущности и интерфейсы. а Реймонд говорит, что сначала нужно спроектировать структуры данных, а алгоритмы тогда станут очевидными =) И я с ним согласен. Кстати, структуры данных и классы очень разные понятия. |
|
Сообщ.
#2582
,
|
|
|
|
Цитата Повстанець @ Можно пример не ООПшной декомпозиции, не превращающей в дикий гиморой её использование. В двух словах, не надо много писать. связка Tcl/Tk, если не ошибаюсь неООПшна, а она считается одной из самых простых и удобных |
|
Сообщ.
#2583
,
|
|
|
|
И вообще я сам за ООП, просто решил поддержать разговор
Добавлено Цитата korvin @ Цитата Повстанець @ Можно пример не ООПшной декомпозиции, не превращающей в дикий гиморой её использование. В двух словах, не надо много писать. связка Tcl/Tk, если не ошибаюсь неООПшна, а она считается одной из самых простых и удобных А слайды? |
|
Сообщ.
#2584
,
|
|
|
|
Цитата D_KEY @ Никто не мешает. И это уже будет не ООП, если ключевыми компонентами системы являются алгоритмы, действия и модули, а объекты вторичны, не обладают самостоятельным поведением и не определяют систему. смотря под каким углом смотреть =) в ФП можно считать функции -- объектами, а структуры данных -- сообщениями (в противоположность ООП). если еще взять не чистое ФП, а как в Scheme, например, то вообще получаются полноценные объекты с "поведением" и внутренним состоянием Добавлено Цитата D_KEY @ И я с ним согласен. Кстати, структуры данных и классы очень разные понятия. не очень |
|
Сообщ.
#2585
,
|
|
|
|
Цитата korvin @ Цитата D_KEY @ Никто не мешает. И это уже будет не ООП, если ключевыми компонентами системы являются алгоритмы, действия и модули, а объекты вторичны, не обладают самостоятельным поведением и не определяют систему. смотря под каким углом смотреть =) в ФП можно считать функции -- объектами, а структуры данных -- сообщениями (в противоположность ООП). если еще взять не чистое ФП, а как в Scheme, например, то вообще получаются полноценные объекты с "поведением" и внутренним состоянием Ну и в ООП, можно завести много "callable"-объектов и построить декомпозицию системы на их основе Использовать исключительно immutable-object и фабрики...Будет почти-что ФП Добавлено Цитата korvin @ Цитата D_KEY @ И я с ним согласен. Кстати, структуры данных и классы очень разные понятия. не очень В классе важнее интерфейс, а не реализация. Одна из основных задач класса - описывать АТД... А структура данных - это то, вокруг чего может быть построена реализация АТД. |
|
Сообщ.
#2586
,
|
|
|
|
О чем вообще холивар-то идет?
|
|
Сообщ.
#2587
,
|
|
|
|
Цитата D_KEY @ В классе важнее интерфейс, а не реализация. Одна из основных задач класса - описывать АТД... не обязательно. контрпример: CLOS =) Добавлено Цитата D_KEY @ и фабрики... фабрики-то зачем? =) |
|
Сообщ.
#2588
,
|
|
|
|
Во-первых, хотелось бы услышать от тебя стадии реализации ПО. Все Вот прямо как бы ты делал/делаешь.Во-вторых, уж от тебя то не ожидал "автор STL". Неужели придётся объяснять, что авторитет впереди доводов есть зло? |
|
Сообщ.
#2589
,
|
|
|
|
Цитата Romkin @ О чем вообще холивар-то идет? ![]() Да был вброс против ООП, я ради порядка решил поддержать, ибо понимаю, что тут большинство за ООП. Но у меня не очень удачно получилось Добавлено Цитата korvin @ Цитата D_KEY @ В классе важнее интерфейс, а не реализация. Одна из основных задач класса - описывать АТД... не обязательно. контрпример: CLOS =) Ну значит там какой-то неправильный ООП Просто теория ООП говорит именно об этом. Тот же Мейер... Цитата Чтобы удобнее было конструировать объекты с полиморфным поведением(возвращаем интерфейс/абстрактный класс, умеющий "вызываться" с соответствующими параметрами). Цитата D_KEY @ и фабрики... фабрики-то зачем? =) Добавлено Цитата MyNameIsIgor @ Во-первых, хотелось бы услышать от тебя стадии реализации ПО. Все Вот прямо как бы ты делал/делаешь.Вау. Необычные просьбы сегодня на меня так и сыпятся. Простой цикл: анализ-проектирование-реализация-тестирование-внедрение тебя не устроит? В основном итеративная разработка, хотя частично применяем scrum. Цитата Во-вторых, уж от тебя то не ожидал "автор STL". Неужели придётся объяснять, что авторитет впереди доводов есть зло? А кто говорит об авторитете? Если не заметил, то я задавал вопрос. STL я решил упомянуть для достижения нескольких целей. В частности, для пояснения тем, кто не знает Степанова, а также напоминание о неплохой библиотеке, в которой ООП не используется(в отличие от библиотек схожей функциональности в других языках, поддерживающий и пропагандирующих ООП). |
|
Сообщ.
#2590
,
|
|
|
|
Цитата D_KEY @ Ну значит там какой-то неправильный ООП Просто теория ООП говорит именно об этом. Тот же Мейер... там один из самых правильных ООП =) |
|
Сообщ.
#2591
,
|
|
|
|
Цитата korvin @ Цитата D_KEY @ Ну значит там какой-то неправильный ООП Просто теория ООП говорит именно об этом. Тот же Мейер... там один из самых правильных ООП =) Ну это как смотреть А чем там являются классы и почему они не описывают АТД? |
|
Сообщ.
#2592
,
|
|
|
|
Цитата D_KEY @ Чтобы удобнее было конструировать объекты с полиморфным поведением(возвращаем интерфейс/абстрактный класс, умеющий "вызываться" с соответствующими параметрами). эм... не понимаю о чем ты. нужна только лишь реализация алгебраических типов данных Добавлено Цитата D_KEY @ А чем там являются классы и почему они не описывают АТД? метаобъектами =) стандратные классы описывают объект как набор слотов. |
|
Сообщ.
#2593
,
|
|
|
|
Цитата korvin @ нужна только лишь реализация алгебраических типов данных А в "классических" языках с ООП они и реализуются через абстрактный класс и наследников + проверка типов во время выполнения ну или абстрактной операции. В С/С++ правда можно сделать через размеченные объединения(struct + union + enum с тегом варианта), но это не очень красиво и удобно. Цитата И как это противоречит АТД?Цитата D_KEY @ А чем там являются классы и почему они не описывают АТД? метаобъектами =) стандратные классы описывают объект как набор слотов. Только не заставляй меня описывать стэки |
|
Сообщ.
#2594
,
|
|
|
|
Цитата D_KEY @ И как это противоречит АТД? прямо Цитата An abstract data type is defined indirectly, only by the operations that may be performed on it в C++ эти операции описываются непосредственно в классе, поэтому класс может быть АТД, в ЦЛ же в классе никакие операции не описываются (кроме, опционално примитивных акцессоров => классы в ЦЛ не могут описывать АТД. стандартные классы не могут =) |
|
Сообщ.
#2595
,
|
|
|
|
Цитата korvin @ в ЦЛ же в классе никакие операции не описываются (кроме, опционално примитивных акцессоров => классы в ЦЛ не могут описывать АТД. стандартные классы не могут =) А что в них тогда вообще описывается? |