Re[14]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 13:00
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Нет, вот это: "Просто применение этого принципа как правило даёт кучу простых взаимодействующих объектов, в классах которых наследование реализации почти никогда не требуется."


Ф>>Вы мне мозг взрываете. Какое к чёрту "предпочтение"?


D>Любую более-менее сложную задачу можно решить огромным множеством разных способов. Выбор решения — это предпочтение и есть.


А простую/несложную?

Предлагаю эксперимент: я накидаю несложную задачу, а вы её решите.

Автоматизируем магазин компьютерных комплектующих, который среди прочего торгует следующими видами товаров:
  Скрытый текст
1) Процессоры
2) Материнские платы
3) Модули памяти
4) Видеокарты
5) Жёсткие диски


Значимые свойства для каждого вида товаров:
  Скрытый текст
1) Процессоры
Наличие в магазине
Цена
Бренд
Название (Pentium, Core 2 Duo, Core i3, Sempron...)
Кол-во ядер
Сокет (название сокета)
Тех. процесс (кол-во нанометров)
Тип поставки (BOX/OEM)

2) Материнские платы
Наличие в магазине
Цена
Бренд
Тип памяти
Интерфейсы наличие и кол-во(AGP/PCIE/PCI/IDE/SATA)
Сокет процессора (название сокета)
Чипсет (название чипсета)
Форм-фактор (ATX, mATX, eATX...)


3) Модули памяти
Наличие в магазине
Цена
Бренд
Тип памяти
Частота памяти
Объем

4) Видеокарты
Наличие в магазине
Цена
Бренд
Название
Интерфейс подключения (AGP/PCIE/PCI)
Объём памяти

5) Жёсткие диски
Наличие в магазине
Цена
Бренд
Тип жесткого диска (Магнитный или SSD)
Объем (кол-во Гигабайт)
Интерфейс подключения (IDE / SATA / SATA II / SATA III)
Объём буферной памяти (кол-во мегобайт)


Требуется:
Написать консольную программу, по запросу выводящую подходящие покупателю товары. От программы так же требуется возможность определить совместимость компонетов выбранных покупателем. При разработке необходимо учесть, что ассортимент товаров может быть расширен.

Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[15]: Так все-таки, что же не так с ООП?
От: dimgel Россия https://github.com/dimgel
Дата: 02.02.12 13:07
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Предлагаю эксперимент: я накидаю несложную задачу, а вы её решите.


Лениво. Когда у меня появляется свободное время, я предпочитаю разгружать мозги.
Re[16]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 13:19
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, Философ, Вы писали:


Ф>>Предлагаю эксперимент: я накидаю несложную задачу, а вы её решите.


D>Лениво. Когда у меня появляется свободное время, я предпочитаю разгружать мозги.


Вот так вот оказывается
Пишем сообщения на форуме не напрягая мозг...
Печально.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[17]: Так все-таки, что же не так с ООП?
От: dimgel Россия https://github.com/dimgel
Дата: 02.02.12 12:22
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Вот так вот оказывается


Ага. Возьми сам реши свою задачу, выложи здесь решение и попроси того же Синклера раскритиковать в конкретике. А не напрягай других делать за тебя твою работу в целях твоего образования. Вообще оборзели. Интервьюер хренов.
Re[15]: Так все-таки, что же не так с ООП?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 02.02.12 12:23
Оценка: +1
Здравствуйте, Философ, Вы писали:

Ф>Требуется:

Ф>Написать консольную программу, по запросу выводящую подходящие покупателю товары. От программы так же требуется возможность определить совместимость компонетов выбранных покупателем. При разработке необходимо учесть, что ассортимент товаров может быть расширен.

Ф>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.


Но это уже не задача, а решение, чего следует избегать. Заранее было решено использовать наследование для распределения данных по классам товаров. А для реальной задачи никто так делать не будет.
Re[15]: Так все-таки, что же не так с ООП?
От: Artifact  
Дата: 02.02.12 12:26
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Автоматизируем магазин компьютерных комплектующих, который среди прочего торгует следующими видами товаров


SQLite подойдёт?
__________________________________
Не ври себе.
Re[18]: Так все-таки, что же не так с ООП?
От: dimgel Россия https://github.com/dimgel
Дата: 02.02.12 12:26
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Возьми сам реши свою задачу, выложи здесь решение и попроси того же Синклера раскритиковать в конкретике.


А ещё лучше — возьми и прочитай все большие старые срачи. Здесь все твои вопросы уже сто раз обсасывались. Меня долго удивляло, что находятся желающие по сто раз одно и то же объяснять — но на своём нынешнем опыте я подозреваю, что это просто со скуки. Когда можно говорить давно известное, не особо напрягая мозги. В любом случае, здесь тебе никто ничего не обязан.
Re[15]: Так все-таки, что же не так с ООП?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 02.02.12 12:35
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Требуется:

Ф>Написать консольную программу, по запросу выводящую подходящие покупателю товары. От программы так же требуется возможность определить совместимость компонетов выбранных покупателем. При разработке необходимо учесть, что ассортимент товаров может быть расширен.
Что бы не учитывать то что ассортимент может быть расширен, нужно прежде всего не сужать его.

Для чего тут наследование кроме того что бы было как по букварю? Предполагается различное поведение у товаров? Чем поведение процессора в магазине будет отличаться от материнской платы?

Ф>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.

Это предложение сделать чью-то работу в обмен на критику? Не заманчиво ни разу.

Да, мегАбайт.
Re[18]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 12:42
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, Философ, Вы писали:


Ф>>Вот так вот оказывается


D>Ага. Возьми сам реши свою задачу, выложи здесь решение и попроси того же Синклера раскритиковать в конкретике. А не напрягай других делать за тебя твою работу в целях твоего образования. Вообще оборзели. Интервьюер хренов.


Оскорбили его понимаешь. Великому деятелю индустрии предложили детскую задачку решить.
-----------

Я достаточно времени потратил на то, чтобы придумать эту задачу, по крайней мере больше чем требуется для её решения. Автоматизировать магазины не моя работа.

Я внимательно читаю читаю профильные темы, прикладывая мозг к каждому сообщению и "Философия программирования" для меня форум профильный, тщательно формулирую ответы, рассчитывая на такое же отношение от собеседников.
Поэтому отсыл "А мне впадлу тебе отвечать" воспринимаю как оскорбление.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[16]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 12:43
Оценка:
Здравствуйте, Artifact, Вы писали:

A>Здравствуйте, Философ, Вы писали:


Ф>>Автоматизируем магазин компьютерных комплектующих, который среди прочего торгует следующими видами товаров


A>SQLite подойдёт?


не, мы тут про ООП говорим
Всё сказанное выше — личное мнение, если не указано обратное.
Re[16]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 12:45
Оценка:
Здравствуйте, samius, Вы писали:

S>Здравствуйте, Философ, Вы писали:


Ф>>Требуется:

Ф>>Написать консольную программу, по запросу выводящую подходящие покупателю товары. От программы так же требуется возможность определить совместимость компонетов выбранных покупателем. При разработке необходимо учесть, что ассортимент товаров может быть расширен.
S>Что бы не учитывать то что ассортимент может быть расширен, нужно прежде всего не сужать его.

S>Для чего тут наследование кроме того что бы было как по букварю? Предполагается различное поведение у товаров? Чем поведение процессора в магазине будет отличаться от материнской платы?


хорошее начало

Ф>>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.

S>Это предложение сделать чью-то работу в обмен на критику?

нет, это я только что сидел выдумывал
Всё сказанное выше — личное мнение, если не указано обратное.
Re[17]: Так все-таки, что же не так с ООП?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 02.02.12 12:47
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, samius, Вы писали:


Ф>>>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.

S>>Это предложение сделать чью-то работу в обмен на критику?

Ф>нет, это я только что сидел выдумывал

Зря. Эта задача не оправдывает решения наследованием.
Re[19]: Так все-таки, что же не так с ООП?
От: dimgel Россия https://github.com/dimgel
Дата: 02.02.12 12:52
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Оскорбили его понимаешь.

Ф>Поэтому отсыл "А мне впадлу тебе отвечать" воспринимаю как оскорбление.

Re[3]: Так все-таки, что же не так с ООП?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 02.02.12 12:55
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Поймите, люди работающие в крупных ИТ компаниях не дураки, они прекрасно понимают что C++ 2 закончиться все тем же C++ 1. Здесь как обычно все сводится к компромиссам.


К C++ практически без труда и совершенно без потерь эффективности можно добавить немало как чисто синтаксических, так и семантических расширений, повышающих выразительность и надежность кода. Но почему-то простейшие вещи вроде mutable проникают в стандарт и реализации очень медленно. Такое ощущение, что разработчики крайне консервативны.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Так все-таки, что же не так с ООП?
От: Artifact  
Дата: 02.02.12 12:55
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>не, мы тут про ООП говорим


Ну так и я о нём Пытаюсь намекнуть, что пока некоторые пытаются угодать, как оно там через ООП надо по науке то, другие берут ПРАВИЛЬНЫЙ инструмент и решают задачу.

ЗЫ Ну ладно, извините, продолжайте, я больше не вмешиваюсь.
__________________________________
Не ври себе.
Re[18]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 12:59
Оценка:
Здравствуйте, Artifact, Вы писали:

A>Здравствуйте, Философ, Вы писали:


Ф>>не, мы тут про ООП говорим


A>Ну так и я о нём Пытаюсь намекнуть, что пока некоторые пытаются угодать, как оно там через ООП надо по науке то, другие берут ПРАВИЛЬНЫЙ инструмент и решают задачу.


A>ЗЫ Ну ладно, извините, продолжайте, я больше не вмешиваюсь.


сорри, глупость сморозил

я просто хорошо себе представляю как эта задача решается с помощью SQL'я
Всё сказанное выше — личное мнение, если не указано обратное.
Re[16]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.12 13:10
Оценка:
Здравствуйте, velkin, Вы писали:

V>Здравствуйте, Философ, Вы писали:


Ф>>Требуется:

Ф>>Написать консольную программу, по запросу выводящую подходящие покупателю товары. От программы так же требуется возможность определить совместимость компонетов выбранных покупателем. При разработке необходимо учесть, что ассортимент товаров может быть расширен.

Ф>>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.


V>Но это уже не задача, а решение, чего следует избегать. Заранее было решено использовать наследование для распределения данных по классам товаров. А для реальной задачи никто так делать не будет.


Совершенно не обязательно отражать классы товаров в классы ЯП. Просто так сложилось, что видеокарты и винты будут идти в разных разделах прайса и даже лежать на разных стелажах.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[18]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 03.02.12 04:21
Оценка:
Здравствуйте, samius, Вы писали:

S>Здравствуйте, Философ, Вы писали:


Ф>>Здравствуйте, samius, Вы писали:


Ф>>>>Здесь я предлагаю написать только классы товаров, т.е. интересуют отношения между классами, их свойства и методы.

S>>>Это предложение сделать чью-то работу в обмен на критику?

Ф>>нет, это я только что сидел выдумывал

S>Зря. Эта задача не оправдывает решения наследованием.

будет интересно посмотреть на ваше решение
Всё сказанное выше — личное мнение, если не указано обратное.
Re[19]: Так все-таки, что же не так с ООП?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 03.02.12 04:57
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, samius, Вы писали:


Ф>будет интересно посмотреть на ваше решение


Мне тоже. Но не настолько, что бы писать его.

Однако, ключевую особенность его (один класс товара без наследования) я готов обсудить. Мне в нем нравится то, что не поменяв ни строчки кода (если представить что оно таки написано), можно добавить товар электромясорубку SATA3 и проверять ее совместимость с конфигурацией клиента. Это ли не возможность расширения?
Re[14]: Так все-таки, что же не так с ООП?
От: Философ Ад http://vk.com/id10256428
Дата: 05.02.12 06:19
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, Философ, Вы писали:


Ф>>>>Я не вижу никакой связи между наследованием и нарушением SRP.

D>>>А связь я в первой же строчке своего предыдущего сообщения указал.

Ф>>

D>>>А предпочтение наследования как правило приводит к злоупотреблению им, что на выходе даёт запутанные иерархии.
Ф>>

Ф>>Это?

D>Нет, вот это: "Просто применение этого принципа как правило даёт кучу простых взаимодействующих объектов, в классах которых наследование реализации почти никогда не требуется."


Запутанные иерархии VS Запутанные взаимодействия
Всё сказанное выше — личное мнение, если не указано обратное.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.