Re[8]: На базе чего лучше всего продемонстрировать ООП?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.06.10 09:32
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

VD>>1. Простенькая электронная табличка. Плюс в том, что в ней можно использовать строчный калькулятор из предыдущих частей.

WH>Это плохой пример для ООП

Это отличный пример, а вот игрушка это отстой.
Re[9]: На базе чего лучше всего продемонстрировать ООП?
От: WolfHound  
Дата: 09.06.10 10:05
Оценка: -1 :)
Здравствуйте, Ikemefula, Вы писали:

VD>>>1. Простенькая электронная табличка. Плюс в том, что в ней можно использовать строчный калькулятор из предыдущих частей.

WH>>Это плохой пример для ООП
I>Это отличный пример, а вот игрушка это отстой.
Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.
А вот игрушка это симуляция игрового мира. Симуляция это единственная задача где ООП рулит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: На базе чего лучше всего продемонстрировать ООП?
От: MasterZiv СССР  
Дата: 09.06.10 10:33
Оценка:
VladD2 wrote:

> Пишу очередную (четвертую) часть Язык Nemerle

> Данная часть должна быть посвящена ООП-у.
>
> К сожалению, в голову не приходит хороших идей для демонстрации ООП-а.

Объясняй на примере сериализации (записи и чтения) объектов
разнообразного вида в потоки разной природы.
Самое оно то.
Posted via RSDN NNTP Server 2.1 beta
Re[10]: На базе чего лучше всего продемонстрировать ООП?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.06.10 11:08
Оценка:
Здравствуйте, WolfHound, Вы писали:

I>>Это отличный пример, а вот игрушка это отстой.

WH>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.



сама таблица вобщем то мало интересует, интересует полноценное приложение с этой таблицей

http://msdn.microsoft.com/en-us/library/ms973253.aspx

Нужен вот такой пример только в качестве документа не текстовый редактор, а таблицу.

В данном примере кода слишком много и не все реально используется, даже на С# можно сделать компактнее
Re[8]: На базе чего лучше всего продемонстрировать ООП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.06.10 19:07
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Хорошо бы увидеть в этой проге хорошую аутомейшн модел, что бы можно было в рантаме запускать всякую всячину прямо на немерле и таким образм тренироваться


Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: На базе чего лучше всего продемонстрировать ООП?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.06.10 19:29
Оценка:
Здравствуйте, VladD2, Вы писали:

I>>Хорошо бы увидеть в этой проге хорошую аутомейшн модел, что бы можно было в рантаме запускать всякую всячину прямо на немерле и таким образм тренироваться


VD>Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.


У дядьки вот здесь очень неплохо вышло
Re[10]: На базе чего лучше всего продемонстрировать ООП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.06.10 20:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:

D>>Сдается мне, что это все равно как в качестве задач по механике приводить устройство современного танка.


I> У дядьки вот здесь очень неплохо вышло


Ага. Отличный пример! Ни одного упоминания virtual/oveeride/abstact/interface. ООП во всей красе... по вордовски.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: На базе чего лучше всего продемонстрировать ООП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.06.10 20:26
Оценка: :))) :)
Здравствуйте, MasterZiv, Вы писали:

MZ>Объясняй на примере сериализации (записи и чтения) объектов

MZ>разнообразного вида в потоки разной природы.
MZ>Самое оно то.

А сериализовать иерархию животных?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: На базе чего лучше всего продемонстрировать ООП?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.06.10 20:39
Оценка:
Здравствуйте, VladD2, Вы писали:

I>> У дядьки вот здесь очень неплохо вышло


VD>Ага. Отличный пример! Ни одного упоминания virtual/oveeride/abstact/interface. ООП во всей красе... по вордовски.


У него немного другая задача была — показать модель, все тож самое можно сделать для демонстрации ООП
Re[12]: На базе чего лучше всего продемонстрировать ООП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.06.10 20:45
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>У него немного другая задача была — показать модель, все тож самое можно сделать для демонстрации ООП


Дык вот у меня задача иная. И твой пример отлично показал, что ее трудно решить на базе таких примеров.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: На базе чего лучше всего продемонстрировать ООП?
От: FR  
Дата: 10.06.10 05:02
Оценка: 13 (1)
Здравствуйте, VladD2, Вы писали:


VD>Прошу подкинуть идей примеров в процессе реализации которых можно было бы продемонстрировать основные концепции ООП, точнее элементы языка используемые для поддержки ООП (они в Nemerle такие же как в C#).


Поищи книжку Тимоти Бадд Объектно-ориентированное программирование в действии. Хоть в ней есть немало спорного, но по моему она
очень хороша для начинающих, и главное в ней куча примеров, вполне тебе подходящих, например решение задачи о восьми ферьзях в ООП
стиле или игры бильярд, пасьянс.
Re[10]: На базе чего лучше всего продемонстрировать ООП?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 10.06.10 05:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.


Плохому танцору... того...
Как бы, с борландами, и с C++ и с ObjectPascal ходил Calc, если мне склероз не изменяет. С мордой на TurboVision. Как я помню исходники были маленькими.
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re: На базе чего лучше всего продемонстрировать ООП?
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 10.06.10 08:09
Оценка:
Здравствуйте, VladD2, Вы писали:

Я когда то занимался с учеником по основам проектирования — писали змейку классическую ****@
Рекомендую, очень простое ТЗ и море удовольствия

VD>Пример должен быть:

VD>* Кратким. Я должен легко описать его в рамках одной статьи (10-15) страниц (по 5 тысяч знаков без учета пробелов).
VD>* Он должен демонстрировать наследование, виртуальные методы, события. Хорошо бы, но не обязательно, чтобы он так же демонстрировал использование интерфейсов.
VD>* Понятным.
VD>* Не абстрактным и практичным. Меня самого всегда раздражало когда ООП подавали на совершенно не реалистичных примерах вроде построения иерархии животных или библиотеки графических примитивов (которые на практике никакого ООП не используют).
VD>* Возможно, но не обязательно, связан с примером строчного калькулятор.

VD>Одной из идей предложенной Воронковым было разработать электронную таблицу (аля сильно упрощенный Exel). Но боюсь, что это будет перебор.
Viva el Junta Militar! Viva el Presidente!
Re[11]: На базе чего лучше всего продемонстрировать ООП?
От: WolfHound  
Дата: 10.06.10 11:56
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

WH>>Электронная таблица это функциональный язык. Так что тут ООП вообще никак и ни о чем.

ANS>Плохому танцору... того...
ANS>Как бы, с борландами, и с C++ и с ObjectPascal ходил Calc, если мне склероз не изменяет. С мордой на TurboVision. Как я помню исходники были маленькими.
На функциональном языке были бы еще меньше.
Я конечно понимаю что люди у которых ООПГМ пихают ООП куда попало и думают что ничего лучше не придумать...
Но по факту единственный класс задач которые ООП решает лучше чем другие подходы это симуляции вообще и игры (не все) в частности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: На базе чего лучше всего продемонстрировать ООП?
От: WolfHound  
Дата: 10.06.10 11:56
Оценка:
Здравствуйте, 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: На базе чего лучше всего продемонстрировать ООП?
От: Lonely Dog Россия  
Дата: 10.06.10 12:01
Оценка:
Здравствуйте, VladD2, Вы писали:

Привет!
Я в качестве одного из примеров ООП описываю сетевое приложение. Ну или программу для конвертации чего-либо куда-нибудь

Чуть подробнее: есть сетевое приложение (общается по сокетам, файл перегоняет). Оборачиваем посылку данных в класс с определенным интерфейсом. Например вот так:
class IDataProcessor
{
 virtual void SendData(std::vector<BYTE> &vData) = 0;
 virtual void ReceiveData(std::vector<BYTE> &vData) = 0;
}

Т.о. образом IDataProcessor отвечает за отправку и получение данных. Появляется класс CNetworkDataProcessor, отправляющий данные по сети. CCompositeDataProcessor, отвечающий за вызов нескольких IDataProcessor по очереди. Появляется CCompressDataProcessor для сжатия и CEncryptDataProcessor для шифрования данных. Скорее всего тебе лучше использовать не сеть, а просто сохранение данных в файл.

Надеюсь,навел на интересные мысли
Re[12]: На базе чего лучше всего продемонстрировать ООП?
От: Klapaucius  
Дата: 10.06.10 12:25
Оценка:
Здравствуйте, 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]: На базе чего лучше всего продемонстрировать ООП?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 10.06.10 12:33
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Чуть подробнее: есть сетевое приложение (общается по сокетам, файл перегоняет). Оборачиваем посылку данных в класс с определенным интерфейсом. Например вот так:

LD>
LD>class IDataProcessor
LD>{
LD> virtual void SendData(std::vector<BYTE> &vData) = 0;
LD> virtual void ReceiveData(std::vector<BYTE> &vData) = 0;
LD>}
LD>

LD>Т.о. образом IDataProcessor отвечает за отправку и получение данных. Появляется класс CNetworkDataProcessor, отправляющий данные по сети. CCompositeDataProcessor, отвечающий за вызов нескольких IDataProcessor по очереди.

Интересно, а что делает CCompositeDataProcessor при вызове ReceiveData? Опрашивает несколько IDataProcessor по очереди?

LD>Надеюсь,навел на интересные мысли


ООП — не самое элегантное решение этой задачи
Re[3]: На базе чего лучше всего продемонстрировать ООП?
От: Lonely Dog Россия  
Дата: 10.06.10 13:01
Оценка:
Здравствуйте, samius, Вы писали:

S>Интересно, а что делает CCompositeDataProcessor при вызове ReceiveData? Опрашивает несколько IDataProcessor по очереди?

Ну да. Это как стек драйверов. При посылке данных идем сверху вниз. При получении наоборот.

LD>>Надеюсь,навел на интересные мысли


S>ООП — не самое элегантное решение этой задачи

1. Как бы вы ее решили?
2. Постановка задачи проста и понятна. Решение в целом тоже.
Re[2]: На базе чего лучше всего продемонстрировать ООП?
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.06.10 13:09
Оценка:
Здравствуйте, FR, Вы писали:

FR>например решение задачи о восьми ферьзях в ООП


Боюсь, что на этом примере можно продемонстрировать только то, что для логических задачах лучше использовать Пролог, а не ООП.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.