🗊 Презентация Патерни проектування

Нажмите для полного просмотра!
Патерни проектування, слайд №1 Патерни проектування, слайд №2 Патерни проектування, слайд №3 Патерни проектування, слайд №4 Патерни проектування, слайд №5 Патерни проектування, слайд №6 Патерни проектування, слайд №7 Патерни проектування, слайд №8 Патерни проектування, слайд №9 Патерни проектування, слайд №10 Патерни проектування, слайд №11 Патерни проектування, слайд №12 Патерни проектування, слайд №13 Патерни проектування, слайд №14 Патерни проектування, слайд №15 Патерни проектування, слайд №16 Патерни проектування, слайд №17 Патерни проектування, слайд №18 Патерни проектування, слайд №19 Патерни проектування, слайд №20 Патерни проектування, слайд №21 Патерни проектування, слайд №22 Патерни проектування, слайд №23 Патерни проектування, слайд №24 Патерни проектування, слайд №25 Патерни проектування, слайд №26 Патерни проектування, слайд №27 Патерни проектування, слайд №28 Патерни проектування, слайд №29 Патерни проектування, слайд №30 Патерни проектування, слайд №31 Патерни проектування, слайд №32 Патерни проектування, слайд №33 Патерни проектування, слайд №34 Патерни проектування, слайд №35 Патерни проектування, слайд №36 Патерни проектування, слайд №37 Патерни проектування, слайд №38 Патерни проектування, слайд №39 Патерни проектування, слайд №40 Патерни проектування, слайд №41 Патерни проектування, слайд №42 Патерни проектування, слайд №43 Патерни проектування, слайд №44 Патерни проектування, слайд №45 Патерни проектування, слайд №46 Патерни проектування, слайд №47 Патерни проектування, слайд №48 Патерни проектування, слайд №49 Патерни проектування, слайд №50 Патерни проектування, слайд №51 Патерни проектування, слайд №52 Патерни проектування, слайд №53 Патерни проектування, слайд №54 Патерни проектування, слайд №55 Патерни проектування, слайд №56 Патерни проектування, слайд №57 Патерни проектування, слайд №58 Патерни проектування, слайд №59

Содержание

Вы можете ознакомиться и скачать презентацию на тему Патерни проектування. Доклад-сообщение содержит 59 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Патерни проектування 2005-2012
Описание слайда:
Патерни проектування 2005-2012

Слайд 2


Що таке патерн (pattern)? Alexander C., Ishikawa S., Silverstein M. A Pattern Language: Towns/ Buildings/ Construction, NY, 1977. Alexander C.,...
Описание слайда:
Що таке патерн (pattern)? Alexander C., Ishikawa S., Silverstein M. A Pattern Language: Towns/ Buildings/ Construction, NY, 1977. Alexander C., Ishikawa S., Silverstein M. The Timeless Way of Buildings, NY, 1979.

Слайд 3


GoF (Gang of Four). Gamma E., Johnson R., Helm R., Vlissides J. Design Patterns. Elements of Reusable Object-Oriented Software. — Addison-Wesley,...
Описание слайда:
GoF (Gang of Four). Gamma E., Johnson R., Helm R., Vlissides J. Design Patterns. Elements of Reusable Object-Oriented Software. — Addison-Wesley, 1995. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб: Питер, 2001. — 368 с.

Слайд 4


Патерни проектування, слайд №4
Описание слайда:

Слайд 5


Патерни проектування, слайд №5
Описание слайда:

Слайд 6


(1/2)
Описание слайда:
(1/2)

Слайд 7


(2/2)
Описание слайда:
(2/2)

Слайд 8


GRASP (General Responsibility Assignment Software Patterns)
Описание слайда:
GRASP (General Responsibility Assignment Software Patterns)

Слайд 9


Патерни проектування, слайд №9
Описание слайда:

Слайд 10


Анти-патерни
Описание слайда:
Анти-патерни

Слайд 11


Структура патернів GoF У загальному випадку опис патерну складається з чотирьох основних розділів: 1. Ім'я. Пославшись на нього, можна одразу описати...
Описание слайда:
Структура патернів GoF У загальному випадку опис патерну складається з чотирьох основних розділів: 1. Ім'я. Пославшись на нього, можна одразу описати як проблему проектування, так і її вирішення (словник патернів). Отже, проектування ПС можна проводити більш високому рівні абстракції. Патерн — це одне з ключових понять архітектури ПС. Знаходження виразних імен було однією з найскладніших задач при складанні каталогу GoF (Gang of Four). 2. Задача. Опис того, коли варто застосовувати патерн. Необхідно сформулювати задачу та її контекст. Тут може описуватися конкретна проблема проектування, може включатися перелік умов, при виконанні яких має сенс застосовувати даний патерн. (Важливо знати, де і при яких умовах можна скористатись патерном.)

Слайд 12


Структура патернів 3. Розв'язок . Абстрактний опис задачі проектування і того, як вона може бути розв'язана за допомогою деякого узагальненого...
Описание слайда:
Структура патернів 3. Розв'язок . Абстрактний опис задачі проектування і того, як вона може бути розв'язана за допомогою деякого узагальненого сполучення класів чи об'єктів. 4. Результати. Описуються наслідки застосування патерну, різного роду компроміси, аналізується вибір мови реалізації. Хоча при опису проектних рішень про наслідки часто не згадують, знати про них необхідно, щоб можна було оцінити переваги і недоліки даного патерну у порівнянні з іншими. Оскільки повторне використання є важливим фактором для ПС, то до результатів варто відносити вплив на гнучкість, масштабування, портабельність розроблюваної системи.

Слайд 13


До класифікації патернів Породжуючі патерни – пов'язані з процесом створення об'єктів. Структурні патерни – ґрунтуються на композиціях (структурних...
Описание слайда:
До класифікації патернів Породжуючі патерни – пов'язані з процесом створення об'єктів. Структурні патерни – ґрунтуються на композиціях (структурних об'єднаннях) об'єктів чи класів. (Теза: замість успадкування – композиції). Патерни поведінки – характеризуються взаємодією об'єктів між собою (такі патерни можна розглядати як кооперації UML).

Слайд 14


Простір патернів проектування Cтруктурні патерни рівня об'єкта компонують об'єкти для одержання нової функціональності. Додаткова гнучкість пов'язана...
Описание слайда:
Простір патернів проектування Cтруктурні патерни рівня об'єкта компонують об'єкти для одержання нової функціональності. Додаткова гнучкість пов'язана з можливістю задавати композицію об'єктів під час виконання програми, що неможливо для статичної композиції класів.

Слайд 15


Singleton (data & object factory™, dofactory.com) Гарантує, що є тільки один екземпляр класу, і надає глобальну точку доступу до такого екземпляра.
Описание слайда:
Singleton (data & object factory™, dofactory.com) Гарантує, що є тільки один екземпляр класу, і надає глобальну точку доступу до такого екземпляра.

Слайд 16


Singleton (data & object factory™, dofactory.com)
Описание слайда:
Singleton (data & object factory™, dofactory.com)

Слайд 17


Adapter
Описание слайда:
Adapter

Слайд 18


Adapter Дозволяє перейти від одного інтерфейсу (у класі чи в об'єкті) до іншого з метою забезпечити спільну роботу (класів чи об'єктів), яка була б...
Описание слайда:
Adapter Дозволяє перейти від одного інтерфейсу (у класі чи в об'єкті) до іншого з метою забезпечити спільну роботу (класів чи об'єктів), яка була б неможлива без даного патерна через несумісність інтерфейсів.

Слайд 19


Adapter
Описание слайда:
Adapter

Слайд 20


Adapter (GoF)
Описание слайда:
Adapter (GoF)

Слайд 21


Borland Developer Studio 2006. Adapter
Описание слайда:
Borland Developer Studio 2006. Adapter

Слайд 22


Borland Developer Studio 2006. Adapter
Описание слайда:
Borland Developer Studio 2006. Adapter

Слайд 23


Borland Developer Studio 2006
Описание слайда:
Borland Developer Studio 2006

Слайд 24


Adapter (data & object factory™, dofactory.com)
Описание слайда:
Adapter (data & object factory™, dofactory.com)

Слайд 25


Adapter (data & object factory™, dofactory.com) // "Adaptee" class Adaptee { // Methods public void SpecificRequest() {...
Описание слайда:
Adapter (data & object factory™, dofactory.com) // "Adaptee" class Adaptee { // Methods public void SpecificRequest() { Console.WriteLine("Called SpecificRequest()" ); } } /// Client test public class Client { public static void Main(string[] args) { // Create adapter and place a request Target t = new Adapter(); t.Request(); } }

Слайд 26


Adapter
Описание слайда:
Adapter

Слайд 27


Proxy
Описание слайда:
Proxy

Слайд 28


Proxy (data & object factory™, dofactory.com) Виступає сурогатом (заступником) іншого об'єкта, “контролюючи” доступ до нього.
Описание слайда:
Proxy (data & object factory™, dofactory.com) Виступає сурогатом (заступником) іншого об'єкта, “контролюючи” доступ до нього.

Слайд 29


Proxy (data & object factory™, dofactory.com) // "Proxy" class Proxy : Subject { RealSubject realSubject; public override void Request() {...
Описание слайда:
Proxy (data & object factory™, dofactory.com) // "Proxy" class Proxy : Subject { RealSubject realSubject; public override void Request() { // Use 'lazy initialization' if (realSubject == null) { realSubject = new RealSubject(); } realSubject.Request(); } }

Слайд 30


Decorator Декоратор – патерн, що структурує об'єкти. Динамічно додаються об'єкту нові обов'язки. Є гнучкою альтернативою породженню підкласів з метою...
Описание слайда:
Decorator Декоратор – патерн, що структурує об'єкти. Динамічно додаються об'єкту нові обов'язки. Є гнучкою альтернативою породженню підкласів з метою розширення функціональності.

Слайд 31


Decorator
Описание слайда:
Decorator

Слайд 32


Decorator (data & object factory™, dofactory.com)
Описание слайда:
Decorator (data & object factory™, dofactory.com)

Слайд 33


Decorator. Приклад (1/2) (data & object factory™, dofactory.com) public class Client { public static void Main ( string[] args ) { ConcreteComponent...
Описание слайда:
Decorator. Приклад (1/2) (data & object factory™, dofactory.com) public class Client { public static void Main ( string[] args ) { ConcreteComponent c = new ConcreteComponent(); ConcreteDecoratorA d1 = new ConcreteDecoratorA(); ConcreteDecoratorB d2 = new ConcreteDecoratorB(); // Link decorators d1.SetComponent( c ); d2.SetComponent( d1 ); d2.Operation(); } }

Слайд 34


Decorator. Приклад (2/2)
Описание слайда:
Decorator. Приклад (2/2)

Слайд 35


Spring-проект dekor
Описание слайда:
Spring-проект dekor

Слайд 36


Патерни проектування, слайд №36
Описание слайда:

Слайд 37


Composite (композитор, компоновник) Групує об'єкти в деревоподібні структури для представлення ієрархій типу “частина-ціле”. Дозволяє уніфікувати дії...
Описание слайда:
Composite (композитор, компоновник) Групує об'єкти в деревоподібні структури для представлення ієрархій типу “частина-ціле”. Дозволяє уніфікувати дії як з листками, так і з будь-якими групами піддерев.

Слайд 38


Composite (data & object factory™, dofactory.com)
Описание слайда:
Composite (data & object factory™, dofactory.com)

Слайд 39


Composite (data & object factory™, dofactory.com) class Leaf : Component {public Leaf( string name ) : base( name ) {} // Constructor public override...
Описание слайда:
Composite (data & object factory™, dofactory.com) class Leaf : Component {public Leaf( string name ) : base( name ) {} // Constructor public override void Add( Component c ) { Console.WriteLine("Cannot add to a leaf"); } public override void Remove( Component c ) { Console.WriteLine("Cannot remove from a leaf"); } public override void Display( int depth ) { Console.WriteLine( new String( '-', depth ) + name ); } } public class Client { public static void Main( string[] args ) { // Create a tree structure Composite root = new Composite( "root" ); root.Add( new Leaf( "Leaf A" )); root.Add( new Leaf( "Leaf B" )); Composite comp = new Composite( "Composite X" ); comp.Add( new Leaf( "Leaf XA" ) ); comp.Add( new Leaf( "Leaf XB" ) ); root.Add( comp ); root.Add( new Leaf( "Leaf C" )); // Recursively display nodes root.Display( 1 ); } }

Слайд 40


Strategy (dofactory.com)
Описание слайда:
Strategy (dofactory.com)

Слайд 41


Strategy (dofactory.com) class ConcreteStrategyB : Strategy { public override void AlgorithmInterface() { Console.WriteLine(...
Описание слайда:
Strategy (dofactory.com) class ConcreteStrategyB : Strategy { public override void AlgorithmInterface() { Console.WriteLine( "CalledConcreteStrategyB.”+ ”AlgorithmInterface()"); } } class Context { private Strategy _strategy; // Constructor public Context(Strategy strategy) { this._strategy = strategy; } public void ContextInterface() { _strategy.AlgorithmInterface(); } }

Слайд 42


Bridge
Описание слайда:
Bridge

Слайд 43


Bridge
Описание слайда:
Bridge

Слайд 44


Bridge
Описание слайда:
Bridge

Слайд 45


Bridge (GoF)
Описание слайда:
Bridge (GoF)

Слайд 46


Bridge (data & object factory™, dofactory.com)
Описание слайда:
Bridge (data & object factory™, dofactory.com)

Слайд 47


Bridge. “Починати з тих шаблонів, що створюють контекст для інших” (К.Александер).
Описание слайда:
Bridge. “Починати з тих шаблонів, що створюють контекст для інших” (К.Александер).

Слайд 48


Façade (data & object factory™, dofactory.com)
Описание слайда:
Façade (data & object factory™, dofactory.com)

Слайд 49


Observer (Спостерігач) Визначає між об'єктами відношення типу один (видавець) - до - багатьох (передплатників), так що при зміні стану одного об'єкта...
Описание слайда:
Observer (Спостерігач) Визначає між об'єктами відношення типу один (видавець) - до - багатьох (передплатників), так що при зміні стану одного об'єкта (видавця) всі підлеглі (передплатники) одержують повідомлення й автоматично оновлюють дані. Відомий також під іменами Dependents (підлеглі), Publish-Subscribe (видавець- передплатник).

Слайд 50


Observer
Описание слайда:
Observer

Слайд 51


Observer
Описание слайда:
Observer

Слайд 52


Observer
Описание слайда:
Observer

Слайд 53


Observer (data & object factory™, dofactory.com)
Описание слайда:
Observer (data & object factory™, dofactory.com)

Слайд 54


Observer (data & object factory™, dofactory.com) /// Client test public class Client { public static void Main( string[] args ) { // Configure...
Описание слайда:
Observer (data & object factory™, dofactory.com) /// Client test public class Client { public static void Main( string[] args ) { // Configure Observer // structure ConcreteSubject s = new ConcreteSubject(); s.Attach(new ConcreteObserver( s, "X" ) ); s.Attach( new ConcreteObserver( s, "Y" ) ); s.Attach( new ConcreteObserver( s, "Z" ) ); // Change subject, notify // observers s.SubjectState = "ABC"; s.Notify(); } }

Слайд 55


Додаток
Описание слайда:
Додаток

Слайд 56


Borland Developer Studio 2006
Описание слайда:
Borland Developer Studio 2006

Слайд 57


Borland Developer Studio 2006
Описание слайда:
Borland Developer Studio 2006

Слайд 58


Borland Developer Studio 2006
Описание слайда:
Borland Developer Studio 2006

Слайд 59


Borland Developer Studio 2006
Описание слайда:
Borland Developer Studio 2006



Похожие презентации
Mypresentation.ru
Загрузить презентацию