|
|
|
Шаблоны проектирования систем. Шаблоны программирования под .NETВ данном каталоге мы постараемся представить читателю информацию о нескольких шаблонах проектирования и разработки объектно-ориентированных систем. В качестве объектно-ориентированной платформы, на которой будут работать примеры мы возьмем .NET, а в качестве языка примеров выберем новый язык C#, который нам подходит. Причина выбора платформы: На наш взгляд, .NET - одна из лучших, представленных сейчас платформ, для написания приложений с использованием объектно-ориентированных технологий, и при этом при написании кода для данной платформы Вы вольны использовать один из большого количества языков, работающих под CLR (Common Language Runtime, общеязыковая среда выполнения). Причина выбора языка: Не будем углубляться в историю C# в частности и языков программирования в общем - она описана на портале http://www.dotsite.spb.ru, но можем сказать, что сейчас C# - язык, оптимально дополняющий технологию .NET Паттерны (patterns, шаблоны) представляют из себя консистенцию некоего опыта, пригодную для повторного использования. Паттерны находят применение во всех областях деятельности, поскольку позволяют использовать сработавшие ранее решения. Мы с вами не будем рассматривать паттерны психологии или кулинарные рецепты (пример паттернов), а сделаем небольшой обзор паттернов проектирования программных систем. Знание паттернов проектирования позволяет не только быстрее строить Ваши решения и получать качественный исходный код, но и проще общаться с Вашими коллегами, которые уже освоили данную технологию. В команде dotSITE, например, знание базовых шаблонов проектирования считается обязательным. Abstract FactoryАбстракстная фабрика - паттерн, позволяющий изменять поведение системы, варьируя создаваемые объекты, при этом сохраняя интерфейсы AdapterAdapter - паттерн, позволяющий преобразовать интерфейс объекта к тому, который требует клиент. BuilderBuilder - паттерн, позволяющий абстрагировать процесс создания комплексных систем, путем выделения и обобщения классов, отвечающих за создание частей. BridgeBridge - паттерн, позволяющий отделить интерфейс от реализации и изменять их независимо. CommandCommand - паттерн, инкапсулирующий запрос как объект, позволяя более гибко работать с запросами (параметризовать, архивировать, наделять поведением) DecoratorDecorator - паттерн, позволяющий динамически добавлять обязанности объекту, путум включения его в "конверт", обладающий совместимым интерфейсом FacadeFacade - паттерн, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делигирующему их соответствующим объектам системы. FlyweightПаттерн flyweight применяется, когда нужно поддерживать множество мелких объектов, в котором можно выделить группы схожих. InterpreterПаттерин interpreter используется для создания интерпретаторов языков, для которых задана грамматика IteratorIterator используется, когда нужно перебрать все элементы некоторого набора. Он реализует операцию перехода к следующему элементу и перехода к первому. При этом скрывается истинная структура размещения элементов набора. MediatorПаттерн mediator обеспечивает создание "посредника" во взаимодействии объектов, тем самым обеспечивая слабое связывание. MementoMemento - паттерн, реализующий механизм сохранения внутреннего состояния класса с возможностью последующего восстановления. ObserverObserver - паттерн, позволяющий создавать объекты, зависимые от данного и которые получают извещения при каждой смене состояния первичного объекта. PrototypeПозволяет создавать новые объекты за счет клонирования специального объекта - прототипа ProxyProxy - предоставляет объект, контролирующий доступ к данному, перехватывая все вызовы к нему. SingletonПозволяет классу контролировать существование только одного экземпляра и обеспечивает доступ к нему. StateState позволяет задавать поведение объекта "на лету". StrategyStrategy инкапсулирует алгоритм как объект, позволяя заменять один на другой. Template MethodРеализует скелет алгоритма, в котором некоторые шаги делегируются подклассам. VisitorПозволяет описать операцию, производимую над элементами некоторой структуры, позволяет добавлять новые операции, не изменяя класс структуры. Мы представили Вам краткий обзор - дополнительную информацию можно найти в книге "Design Patterns", написанной By Gamma, Helm, Johnson, и Vlissides (Addison Wesley, 1995). |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2010 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development