Дизайнерските модели се категоризират основно в три категории: Creational Design Pattern, Structural Design Pattern и Behavioral Design Pattern. Те се различават един от друг въз основа на тяхното ниво на детайлност, сложност и мащаб на приложимост към цялата проектирана система.
Има и два вида модели - идиоми и архитектурни модели. Но ние няма да ги изследваме в този урок.
Творчески модел на дизайн
Както подсказва името, той предоставя механизма за създаване на обекти или класове, които подобряват гъвкавостта и повторното използване на съществуващия код. Те намаляват зависимостта и контролират начина на използване на взаимодействието с нашия клас, така че да не се занимаваме със сложната конструкция. По-долу са различните дизайнерски модели на творческия дизайнерски модел.
Абстрактна фабрика- Позволява ни да създаваме обекти, без да посочваме конкретния им тип.
Строител - Използва се за създаване на сложни обекти.
Фабричен метод - Позволява ни да създадем обект, без да посочваме точния клас за създаване.
прототип - Използва се за създаване на нов обект от съществуващия обект.
Сингълтън - Моделът на дизайн Singleton се уверява, че е създаден само един екземпляр на обект.
Структурни модели на проектиране
Структурни шаблони за проектиране, отговорни главно за сглобяването на обекти и класове в по-голяма структура, като гарантират, че тази структура трябва да бъде гъвкава и ефективна. Те са много важни за подобряване на четливостта и поддръжката на кода. Той също така гарантира, че функционалностите са правилно разделени, капсулирани. Той намалява минималния интерфейс между взаимозависими неща.
Адаптер - Той ни предоставя два несъвместими класа да работят заедно, като обвиваме интерфейс около един от съществуващите класове.
Композитен - Той обвива група от обекти в един обект.
мост - Той отделя абстракция, така че два класа да могат да варират независимо.
декоратор - Той разширява поведението на обекта динамично по време на изпълнение.
Фасада - Той предлага прост интерфейс към по-сложни основни обекти.
Лека категория - Намалява цената на сложен обектен модел.
Прокси - Той намалява разходите, намалява сложността и предоставя интерфейса на контейнера към основен обект за контрол на достъпа.
Модел на дизайн на поведение
Моделите за проектиране на поведение са отговорни за това как един клас комуникира с другите.
Верига от отговорност - Той представлява командата към верига от обработващи обекти.
команда - Той генерира обекти, които капсулират действията на параметрите.
Преводач - Той реализира специализиран език.
Итератор - Той осъществява достъп до всички елементи на обект последователно, без да нарушава основното му представяне.
медиатор - Той осигурява хлабавото свързване между класовете, като е единственият клас, който има подробни познания за своите съществуващи методи.
спомен - Възстановява обект в предишното състояние.
Наблюдател - Позволява на редица наблюдателни обекти да видят събитие.
състояние - Позволява на обект да променя поведението си, когато вътрешните му състояния се променят.
стратегия - Той предоставя едно от семействата алгоритъм, което да бъде избрано по време на изпълнение.
Метод на шаблона - Той позволява на подкласовете да предоставят конкретно поведение. Той също така дефинира скелета на алгоритъм като абстрактен клас.
посетител - Той разделя алгоритъм от обектна структура чрез преместване на йерархията от методи в един обект.
парче java масив
Ще научим няколко важни дизайнерски шаблона в предстоящия урок.