Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Как решать задачи проектирования

Читайте также:
  1. I.1. Объяснение выбора темы. Цели и задачи работы
  2. II. ЦЕЛИ И ЗАДАЧИ
  3. II. ЦЕЛИ, ЗАДАЧИ И НАПРАВЛЕНИЯ ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИИ.
  4. III. Задачи
  5. III. Современные задачи и проблемы русской богословской науки и образования.
  6. IX. Клинические задачи и тестовый контроль
  7. Автор пытается понять, как решать самую нервную проблему любого интервью
  8. АЛГОРИТМ РЕШЕНИЯ СИТУАЦИОННОЙ ЗАДАЧИ №1.
  9. АЛГОРИТМ РЕШЕНИЯ СИТУАЦИОННОЙ ЗАДАЧИ №9.
  10. Анализ объема производства и продажи продукции: задачи, показатели, последовательность проведения анализа факторов, влияющих на объем производства и продажи продукции.

какой-то конкретный дизайн приложения, а просто предоставляют средства, бла­годаря которым в приложениях проще решать поставленные задачи, позволяют раз­работчику не изобретать заново повсеместно применяемые функции. Таким обра­зом, в инструментальных библиотеках упор сделан на повторном использовании кода. Это объектно-ориентированные эквиваленты библиотек подпрограмм.

Можно утверждать, что проектирование инструментальной библиотеки слож­нее, чем проектирование приложения, поскольку библиотеки должны использо­ваться во многих приложениях, иначе они бесполезны. К тому же автор библио­теки не знает заранее, какие специфические требования будут предъявляться конкретными приложениями. Поэтому ему необходимо избегать любых предпо­ложений и зависимостей, способных ограничить гибкость библиотеки, следова­тельно, сферу ее применения и эффективность.

Каркасы приложений

Каркас - это набор взаимодействующих классов, составляющих повторно ис­пользуемый дизайн для конкретного класса программ [Deu89, JF88]. Например, можно создать каркас для разработки графических редакторов в разных облас­тях: рисовании, сочинении музыки или САПР [VL90, Joh92]. Другим каркасом рекомендуется пользоваться при создании компиляторов для разных языков про­граммирования и целевых машин [JML92]. Третий упростит построение приложе­ний для финансового моделирования [ВЕ93]. Каркас можно подстроить под кон­кретное приложение путем порождения специализированных подклассов от входящих в него абстрактных классов.

Каркас диктует определенную архитектуру приложения. Он определяет об­щую структуру, ее разделение на классы и объекты, основные функции тех и дру­гих, методы взаимодействия объектов и классов и потоки управления. Данные параметры проектирования задаются каркасом, а прикладные проектировщики или разработчики могут сконцентрироваться на специфике приложения. В кар­касе аккумулированы проектные решения, общие для данной предметной облас­ти. Акцент в каркасе делается на повторном использовании дизайна, а не кода, хотя обычно он включает и конкретные подклассы, которые можно применять непо­средственно.

Повторное использование на данном уровне меняет направление связей между приложением и программным обеспечением, лежащим в его основе, на противоположное. При использовании инструментальной библиотеки (или, если хотите, обычной библиотеки подпрограмм) вы пишете тело приложения и вызываете из него код, который планируете использовать повторно. При ра­боте с каркасом вы, наоборот, повторно используете тело и пишете код, который оно вызывает. Вам приходится кодировать операции с предопределенными име­нами и параметрами вызова, но зато число принимаемых вами проектных реше­ний сокращается.

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


 



Дата добавления: 2015-09-11; просмотров: 97 | Поможем написать вашу работу | Нарушение авторских прав

Введение в паттерны проектирования | Чтотакое паттерн проектирования | Паттерны проектирования в схеме MVC | Каталог паттернов проектирования | Организация каталога | Введение в паттерны проектирования | Введение в паттерны проектирования | Как решать задачи проектирования | Введение в паттерны проектирования | Введение в паттерны проектирования |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав