Здравствуйте, WolfHound, Вы писали:
VD>>1. Простенькая электронная табличка. Плюс в том, что в ней можно использовать строчный калькулятор из предыдущих частей. WH>Это плохой пример для ООП
Это отличный пример, а вот игрушка это отстой.
Re[9]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, Ikemefula, Вы писали:
VD>>>1. Простенькая электронная табличка. Плюс в том, что в ней можно использовать строчный калькулятор из предыдущих частей. WH>>Это плохой пример для ООП I>Это отличный пример, а вот игрушка это отстой.
Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.
А вот игрушка это симуляция игрового мира. Симуляция это единственная задача где ООП рулит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: На базе чего лучше всего продемонстрировать ООП?
VladD2 wrote:
> Пишу очередную (четвертую) часть Язык Nemerle > Данная часть должна быть посвящена ООП-у. > > К сожалению, в голову не приходит хороших идей для демонстрации ООП-а.
Объясняй на примере сериализации (записи и чтения) объектов
разнообразного вида в потоки разной природы.
Самое оно то.
Posted via RSDN NNTP Server 2.1 beta
Re[10]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, WolfHound, Вы писали:
I>>Это отличный пример, а вот игрушка это отстой. WH>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.
сама таблица вобщем то мало интересует, интересует полноценное приложение с этой таблицей
Здравствуйте, Ikemefula, Вы писали:
I>Хорошо бы увидеть в этой проге хорошую аутомейшн модел, что бы можно было в рантаме запускать всякую всячину прямо на немерле и таким образм тренироваться
Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, VladD2, Вы писали:
I>>Хорошо бы увидеть в этой проге хорошую аутомейшн модел, что бы можно было в рантаме запускать всякую всячину прямо на немерле и таким образм тренироваться
VD>Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.
Здравствуйте, Ikemefula, Вы писали:
D>>Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.
I> У дядьки вот здесь очень неплохо вышло
Ага. Отличный пример! Ни одного упоминания virtual/oveeride/abstact/interface. ООП во всей красе... по вордовски.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, MasterZiv, Вы писали:
MZ>Объясняй на примере сериализации (записи и чтения) объектов MZ>разнообразного вида в потоки разной природы. MZ>Самое оно то.
А сериализовать иерархию животных?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, VladD2, Вы писали:
I>> У дядьки вот здесь очень неплохо вышло
VD>Ага. Отличный пример! Ни одного упоминания virtual/oveeride/abstact/interface. ООП во всей красе... по вордовски.
У него немного другая задача была — показать модель, все тож самое можно сделать для демонстрации ООП
Re[12]: На базе чего лучше всего продемонстрировать ООП?
VD>Прошу подкинуть идей примеров в процессе реализации которых можно было бы продемонстрировать основные концепции ООП, точнее элементы языка используемые для поддержки ООП (они в Nemerle такие же как в C#).
Поищи книжку Тимоти Бадд Объектно-ориентированное программирование в действии. Хоть в ней есть немало спорного, но по моему она
очень хороша для начинающих, и главное в ней куча примеров, вполне тебе подходящих, например решение задачи о восьми ферьзях в ООП
стиле или игры бильярд, пасьянс.
Re[10]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, WolfHound, Вы писали:
WH>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.
Плохому танцору... того...
Как бы, с борландами, и с C++ и с ObjectPascal ходил Calc, если мне склероз не изменяет. С мордой на TurboVision. Как я помню исходники были маленькими.
Я когда то занимался с учеником по основам проектирования — писали змейку классическую ****@
Рекомендую, очень простое ТЗ и море удовольствия
VD>Пример должен быть: VD>* Кратким. Я должен легко описать его в рамках одной статьи (10-15) страниц (по 5 тысяч знаков без учета пробелов). VD>* Он должен демонстрировать наследование, виртуальные методы, события. Хорошо бы, но не обязательно, чтобы он так же демонстрировал использование интерфейсов. VD>* Понятным. VD>* Не абстрактным и практичным. Меня самого всегда раздражало когда ООП подавали на совершенно не реалистичных примерах вроде построения иерархии животных или библиотеки графических примитивов (которые на практике никакого ООП не используют). VD>* Возможно, но не обязательно, связан с примером строчного калькулятор.
VD>Одной из идей предложенной Воронковым было разработать электронную таблицу (аля сильно упрощенный Exel). Но боюсь, что это будет перебор.
Viva el Junta Militar! Viva el Presidente!
Re[11]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, Andrei N.Sobchuck, Вы писали:
WH>>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем. ANS>Плохому танцору... того... ANS>Как бы, с борландами, и с C++ и с ObjectPascal ходил Calc, если мне склероз не изменяет. С мордой на TurboVision. Как я помню исходники были маленькими.
На функциональном языке были бы еще меньше.
Я конечно понимаю что люди у которых ООПГМ пихают ООП куда попало и думают что ничего лучше не придумать...
Но по факту единственный класс задач которые ООП решает лучше чем другие подходы это симуляции вообще и игры (не все) в частности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, Ikemefula, Вы писали:
I>сама таблица вобщем то мало интересует, интересует полноценное приложение с этой таблицей
Для этой статьи нужен маленький пример.
I>http://msdn.microsoft.com/en-us/library/ms973253.aspx I>Нужен вот такой пример только в качестве документа не текстовый редактор, а таблицу. I>В данном примере кода слишком много и не все реально используется, даже на С# можно сделать компактнее
В данном примере нужно не ООП а реактивное программирование.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: На базе чего лучше всего продемонстрировать ООП?
Привет!
Я в качестве одного из примеров ООП описываю сетевое приложение. Ну или программу для конвертации чего-либо куда-нибудь
Чуть подробнее: есть сетевое приложение (общается по сокетам, файл перегоняет). Оборачиваем посылку данных в класс с определенным интерфейсом. Например вот так:
Т.о. образом IDataProcessor отвечает за отправку и получение данных. Появляется класс CNetworkDataProcessor, отправляющий данные по сети. CCompositeDataProcessor, отвечающий за вызов нескольких IDataProcessor по очереди. Появляется CCompressDataProcessor для сжатия и CEncryptDataProcessor для шифрования данных. Скорее всего тебе лучше использовать не сеть, а просто сохранение данных в файл.
Надеюсь,навел на интересные мысли
Re[12]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, WolfHound, Вы писали:
WH>Но по факту единственный класс задач которые ООП решает лучше чем другие подходы это симуляции вообще и игры (не все) в частности.
А чем вышеупомянутое реактивное программирование хуже ООП для симуляции вообще и игр в частности?
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[2]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, Lonely Dog, Вы писали:
LD>Чуть подробнее: есть сетевое приложение (общается по сокетам, файл перегоняет). Оборачиваем посылку данных в класс с определенным интерфейсом. Например вот так: LD>
LD>Т.о. образом IDataProcessor отвечает за отправку и получение данных. Появляется класс CNetworkDataProcessor, отправляющий данные по сети. CCompositeDataProcessor, отвечающий за вызов нескольких IDataProcessor по очереди.
Интересно, а что делает CCompositeDataProcessor при вызове ReceiveData? Опрашивает несколько IDataProcessor по очереди?
LD>Надеюсь,навел на интересные мысли
ООП — не самое элегантное решение этой задачи
Re[3]: На базе чего лучше всего продемонстрировать ООП?
Здравствуйте, samius, Вы писали:
S>Интересно, а что делает CCompositeDataProcessor при вызове ReceiveData? Опрашивает несколько IDataProcessor по очереди?
Ну да. Это как стек драйверов. При посылке данных идем сверху вниз. При получении наоборот.
LD>>Надеюсь,навел на интересные мысли
S>ООП — не самое элегантное решение этой задачи
1. Как бы вы ее решили?
2. Постановка задачи проста и понятна. Решение в целом тоже.
Re[2]: На базе чего лучше всего продемонстрировать ООП?