Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Доставка цветов в Ревде Служба доставки среди цветов.
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование системы управления качеством производственного процесса на...
Расчет размера дохода на одного человека в Turbo Pascal
Поиск пути в графе заданном списками инцедентности на Turbo Pascal

ДОСТОИНСТВА И НЕДОСТАТКИ ООП. Что мы приобрели?


Благодаря использованию возможностей языка, нам удалось за основу документа взять стандартный контейнерный класс TSringList. Это самый общий пример эффективного программирования. Тщательно разработанный код для TStringList удалось использовать повторно. Как следствие, отпала необходимость создавать методы для добавления, удаления, доступа к элементу по номеру, хранения строк и связанных с ними объектов. Этот же механизм наследования позволил упростить и собственно нашу часть программирования.
Мы разработали лишь основу программы, но можем надеяться, что оставшаяся часть решения задачи существенно упростится. Во–первых определенные выше классы естественны для телеконференций, во–вторых все они производные от (являются разновидностью) документа, и их использование унифицировано: методы имеют одинаковый смысл и имена, а виртуальные методы позволяют не выяснять точный класс каждого объекта.
Что бы кто–либо другой мог воспользоваться нашими трудами, необходимо снабдить разработанные классы описаниями. Их структура оказалась как будто специально приготовлена для этого: необходимо описать лишь интерфейсную (public) часть TDoc, небольшие изменения в TTalk, TFileDoc и TConf, неплохо также привести пример создания, использования и уничтожения объекта каждого класса. Обратите внимание на то, что для пользователя документируется только интерфейсная часть, например, ничего не нужно объяснять о сохранении докладов. Доклад добавляется в конференцию и всё. Остальное будет сделано при сохранении конференции.
Мы скрыли поля данных и отгородили пользователя от неправильного вмешательства в наши объекты. Примером такого вмешательства может служить манипулирование полем FStored. Пользователю наших классов не позволено самостоятельно задавать значение этого поля. Сделав это для конференции, он столкнулся бы с ошибками. Теперь, если в программе обнаружена ошибка, мы отнесем ее в одну из категорий:
1. ошибка не связана с использованием TDoc или его потомков;
2. действия пользователя не соответствуют описанию наших классов;
3. допущена ошибка в описании;
4. ошибка в проектировании или кодировании нашей части программы.
Из–за ясности описаний пункты 2 и 3 проверить достаточно легко. Обсудим последний пункт в нашем списке.
Допустим удалось установить, что TFileDoc загружается правильно, а TConf с ошибкой. В этом случае главное внимание следует уделить методу TConf.LoadBody. Поскольку его тело содержит всего 11 строк, а первая, вторая и одиннадцатая строки правильные, можно рассчитывать, что с оставшимися восьмью мы справимся за разумное время. Если же наоборот, обнаружилось, что ошибка в TFileDoc.LoadBody, то после ее исправления автоматически заработает и TConf.
Таким образом, в результате наследования наши методы выполняют достаточно сложные действия, оставаясь короткими. С другой стороны, исправление ошибок в базовом классе уменьшает количество ошибок и в классах–потомках. Всё это позволяет быстрее получать правильно работающие программы.
Предположим далее, что возникла необходимость изменить содержание заголовка документа. В скольких процедурах нужно будет внести изменения? Скорее всего в двух: TDoc.LoadHdr и TDoc.Store — остальные изменятся автоматически. Эта устойчивость к изменениям — тоже результат проектирования.
Опубликовал Kest October 12 2011 13:38:48 · 3 Комментариев · 6944 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Oleg27 December 30 2024 12:17:37
1win регистрация нужна, для того чтобы делать ставки на https://mIrror1xbet.com спортивные события. У вина отменный дизайн, а сайт четко функционирует, без задержек в работе уже долгое время.
1win букмекер честный и надежный с простой регистрацией, вы можете убедиться в этом лично. Эта БК доставляет только позитивные эмоции, да и расхождений с администрацией редко бывает. 1win отличное приложение, выводить свои деньги достаточно просто. Казино и слоты топовые, играйте и выигрывайте!
Oleg27 December 30 2024 12:18:42
Я не думал то что я буду зарабатывать деньги в интернете, мне друг показал Покердом — официальный лицензионный сайт https://1xBetvkhod.com казино, я сразу же прошёл здесь регистрацию и начал крутить слоты. Я не ожидал то что у меня получиться заработать, но спустя пять минут игры в pokerdom casino мне выпал бонус и я смог заработать кучу денег.
Oleg27 December 30 2024 12:20:15
Мне из новых это https://1xBetsayt.com нравится. Видно, что хотят привлечь много клиентов и удержать старых, поэтому качество работы сервисов, самих слотов, щедрые бонусы, частое пополнение игрового каталога здесь на высоте.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Система баннеро...
TmxOutlookBarPro
Игра PackMan
Цветной Grid
FreeSMS v1.3.1
FileFind
Run
Comdrv
mmmJlabel
Microsoft SQL Ser...
PDF
Редактор анимаций
TDBF
EMSQuickImport
Info
Adapter (пример D...
Проигрыватель Mp3
PHP/MySQL для нач...
Email
Delphi 6/7 базы д...

Топ загрузок
Приложение Клие... 100800
Delphi 7 Enterp... 98063
Converter AMR<-... 20302
GPSS World Stud... 17068
Borland C++Buil... 14261
Borland Delphi ... 10388
Turbo Pascal fo... 7398
Калькулятор [Ис... 6093
Visual Studio 2... 5241
Microsoft SQL S... 3676
Случайные статьи
Информация о дизай...
Область применения...
Слоты в игровом кл...
Числовые функции
Invalid object fil...
Тотал 1 больше 1.5...
Настройка управлен...
В перспективе VRML
ПРИЛОЖЕНИЕ Е. МИК...
Операции отношения...
Рабочие станции
• Framed Protocol
Инструкция по сбор...
• внутренний бранд...
Отображение номера...
Распространение пр...
Как пользоваться м...
Сп 118.13330.2012
Правильность и сос...
";" expected
Реализация простог...
цифровую подпись, ...
Резюме
Обработка строк в РНР
МОДЕЛИРОВАНИЕ МНОГ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?