🗊Презентация Design patterns. GoF for .Net developers

Нажмите для полного просмотра!
Design patterns. GoF for .Net developers, слайд №1Design patterns. GoF for .Net developers, слайд №2Design patterns. GoF for .Net developers, слайд №3Design patterns. GoF for .Net developers, слайд №4Design patterns. GoF for .Net developers, слайд №5Design patterns. GoF for .Net developers, слайд №6Design patterns. GoF for .Net developers, слайд №7Design patterns. GoF for .Net developers, слайд №8Design patterns. GoF for .Net developers, слайд №9Design patterns. GoF for .Net developers, слайд №10Design patterns. GoF for .Net developers, слайд №11Design patterns. GoF for .Net developers, слайд №12Design patterns. GoF for .Net developers, слайд №13Design patterns. GoF for .Net developers, слайд №14Design patterns. GoF for .Net developers, слайд №15Design patterns. GoF for .Net developers, слайд №16Design patterns. GoF for .Net developers, слайд №17Design patterns. GoF for .Net developers, слайд №18Design patterns. GoF for .Net developers, слайд №19Design patterns. GoF for .Net developers, слайд №20Design patterns. GoF for .Net developers, слайд №21Design patterns. GoF for .Net developers, слайд №22Design patterns. GoF for .Net developers, слайд №23Design patterns. GoF for .Net developers, слайд №24Design patterns. GoF for .Net developers, слайд №25Design patterns. GoF for .Net developers, слайд №26Design patterns. GoF for .Net developers, слайд №27Design patterns. GoF for .Net developers, слайд №28Design patterns. GoF for .Net developers, слайд №29Design patterns. GoF for .Net developers, слайд №30Design patterns. GoF for .Net developers, слайд №31Design patterns. GoF for .Net developers, слайд №32Design patterns. GoF for .Net developers, слайд №33Design patterns. GoF for .Net developers, слайд №34Design patterns. GoF for .Net developers, слайд №35Design patterns. GoF for .Net developers, слайд №36Design patterns. GoF for .Net developers, слайд №37Design patterns. GoF for .Net developers, слайд №38Design patterns. GoF for .Net developers, слайд №39Design patterns. GoF for .Net developers, слайд №40Design patterns. GoF for .Net developers, слайд №41Design patterns. GoF for .Net developers, слайд №42Design patterns. GoF for .Net developers, слайд №43Design patterns. GoF for .Net developers, слайд №44Design patterns. GoF for .Net developers, слайд №45Design patterns. GoF for .Net developers, слайд №46Design patterns. GoF for .Net developers, слайд №47Design patterns. GoF for .Net developers, слайд №48Design patterns. GoF for .Net developers, слайд №49Design patterns. GoF for .Net developers, слайд №50Design patterns. GoF for .Net developers, слайд №51Design patterns. GoF for .Net developers, слайд №52Design patterns. GoF for .Net developers, слайд №53Design patterns. GoF for .Net developers, слайд №54Design patterns. GoF for .Net developers, слайд №55Design patterns. GoF for .Net developers, слайд №56Design patterns. GoF for .Net developers, слайд №57Design patterns. GoF for .Net developers, слайд №58Design patterns. GoF for .Net developers, слайд №59Design patterns. GoF for .Net developers, слайд №60Design patterns. GoF for .Net developers, слайд №61Design patterns. GoF for .Net developers, слайд №62Design patterns. GoF for .Net developers, слайд №63Design patterns. GoF for .Net developers, слайд №64Design patterns. GoF for .Net developers, слайд №65Design patterns. GoF for .Net developers, слайд №66Design patterns. GoF for .Net developers, слайд №67Design patterns. GoF for .Net developers, слайд №68Design patterns. GoF for .Net developers, слайд №69

Содержание

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

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


Слайд 1





Design patterns
GoF for .Net Developers
Описание слайда:
Design patterns GoF for .Net Developers

Слайд 2





Agenda
History
What is patterns?
The most uses GoF patterns:
Singleton;
Factory Method;
Abstract Factory;
Builder;
Adapter;
Bridge;
Facade;
Composite;
Iterator.
Описание слайда:
Agenda History What is patterns? The most uses GoF patterns: Singleton; Factory Method; Abstract Factory; Builder; Adapter; Bridge; Facade; Composite; Iterator.

Слайд 3





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

Слайд 4





History
Patterns originated as an architectural concept by Christopher Alexander (1977/79). In 1987, Kent Beck and Ward Cunningham began experimenting with the idea of applying patterns to programming – specifically pattern languages – and presented their results at the OOPSLA conference that year. In the following years, Beck, Cunningham and others followed up on this work.
Design patterns gained popularity in computer science after the book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by the so-called "Gang of Four" (Gamma et al.), which is frequently abbreviated as “GoF".
Although design patterns have been applied practically for a long time, formalization of the concept of design patterns languished for several years.
Описание слайда:
History Patterns originated as an architectural concept by Christopher Alexander (1977/79). In 1987, Kent Beck and Ward Cunningham began experimenting with the idea of applying patterns to programming – specifically pattern languages – and presented their results at the OOPSLA conference that year. In the following years, Beck, Cunningham and others followed up on this work. Design patterns gained popularity in computer science after the book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by the so-called "Gang of Four" (Gamma et al.), which is frequently abbreviated as “GoF". Although design patterns have been applied practically for a long time, formalization of the concept of design patterns languished for several years.

Слайд 5





What is patterns?
Описание слайда:
What is patterns?

Слайд 6





What is patterns?
Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.
Design pattern – a description of the interaction of objects and classes that are adapted to solve the general problem of designing in context.
Описание слайда:
What is patterns? Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. Design pattern – a description of the interaction of objects and classes that are adapted to solve the general problem of designing in context.

Слайд 7





What is patterns?
Any pattern describes the problem that arises again and again in our work.
In general, pattern consists of four main elements:
Name. Referring to it, we can immediately describe the problem, designing
of, and its decisions and their consequences. Assigning names of patterns allows design at a higher level of abstraction.
Problem. A description of when to apply the pattern. Necessary to formulate the problem and its context.
Solution. Description of design elements, relations between them, the functions each item.
The Results – a consequence of the pattern. In describing the impact of design decisions are often not mentioned. You must choose between different options and evaluate the advantages and disadvantages of the pattern.
Описание слайда:
What is patterns? Any pattern describes the problem that arises again and again in our work. In general, pattern consists of four main elements: Name. Referring to it, we can immediately describe the problem, designing of, and its decisions and their consequences. Assigning names of patterns allows design at a higher level of abstraction. Problem. A description of when to apply the pattern. Necessary to formulate the problem and its context. Solution. Description of design elements, relations between them, the functions each item. The Results – a consequence of the pattern. In describing the impact of design decisions are often not mentioned. You must choose between different options and evaluate the advantages and disadvantages of the pattern.

Слайд 8





What is patterns?
Design Patterns are divided into groups
Creational patterns are ones that create objects for you, rather than having you instantiate objects directly. This gives your program more flexibility in deciding which objects need to be created for a given case.
Abstract Factory groups object factories that have a common theme.
Builder constructs complex objects by separating construction and representation.
Factory Method creates objects without specifying the exact class to create.
Prototype creates objects by cloning an existing object.
Singleton restricts object creation for a class to only one instance.
Behavioral patterns. Most of these design patterns are specifically concerned with communication between objects.
Chain of responsibility delegates commands to a chain of processing objects.
Iterator accesses the elements of an object sequentially without exposing its underlying representation.
Observer is a publish/subscribe pattern which allows a number of observer objects to see an event.
Описание слайда:
What is patterns? Design Patterns are divided into groups Creational patterns are ones that create objects for you, rather than having you instantiate objects directly. This gives your program more flexibility in deciding which objects need to be created for a given case. Abstract Factory groups object factories that have a common theme. Builder constructs complex objects by separating construction and representation. Factory Method creates objects without specifying the exact class to create. Prototype creates objects by cloning an existing object. Singleton restricts object creation for a class to only one instance. Behavioral patterns. Most of these design patterns are specifically concerned with communication between objects. Chain of responsibility delegates commands to a chain of processing objects. Iterator accesses the elements of an object sequentially without exposing its underlying representation. Observer is a publish/subscribe pattern which allows a number of observer objects to see an event.

Слайд 9





What is patterns?
Structural patterns. These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.
Adapter allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.
Bridge decouples an abstraction from its implementation so that the two can vary independently.
Composite composes zero-or-more similar objects so that they can be manipulated as one object.
Decorator dynamically adds/overrides behaviour in an existing method of an object.
Facade provides a simplified interface to a large body of code.
Proxy provides a placeholder for another object to control access, reduce cost, and reduce complexity.
Design patterns reside in the domain of modules and interconnections. At a higher level there are architectural patterns that are larger in scope, usually describing an overall pattern followed by an entire system.
Описание слайда:
What is patterns? Structural patterns. These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality. Adapter allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class. Bridge decouples an abstraction from its implementation so that the two can vary independently. Composite composes zero-or-more similar objects so that they can be manipulated as one object. Decorator dynamically adds/overrides behaviour in an existing method of an object. Facade provides a simplified interface to a large body of code. Proxy provides a placeholder for another object to control access, reduce cost, and reduce complexity. Design patterns reside in the domain of modules and interconnections. At a higher level there are architectural patterns that are larger in scope, usually describing an overall pattern followed by an entire system.

Слайд 10





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

Слайд 11





Singleton
In software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object.
Описание слайда:
Singleton In software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object.

Слайд 12





Sigleton: Example
Описание слайда:
Sigleton: Example

Слайд 13





Factory Method
Описание слайда:
Factory Method

Слайд 14





Factory method	
Factory pattern is one of most used design pattern. In Factory pattern, we create object without exposing the creation logic to the client and refer to newly created object using a common interface.
Описание слайда:
Factory method Factory pattern is one of most used design pattern. In Factory pattern, we create object without exposing the creation logic to the client and refer to newly created object using a common interface.

Слайд 15





Factory Method: Example
We're going to create a Mechanism interface and concrete classes implementing the Mechanism interface. A factory class MechanismFactory is defined as a next step.
MainClass, our demo class will use MechanismFactory to get a Mechanism object. It will pass information (BALLISTA / CATAPULT / TREBUCHET) to MechanismFactory to get the type of object it needs.
Описание слайда:
Factory Method: Example We're going to create a Mechanism interface and concrete classes implementing the Mechanism interface. A factory class MechanismFactory is defined as a next step. MainClass, our demo class will use MechanismFactory to get a Mechanism object. It will pass information (BALLISTA / CATAPULT / TREBUCHET) to MechanismFactory to get the type of object it needs.

Слайд 16





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 17





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 18





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 19





Abstract Factory
Описание слайда:
Abstract Factory

Слайд 20





Abstract Factory
Abstract Factory patterns work around a super-factory which creates other factories.
In Abstract Factory pattern an interface is responsible for creating a factory of related objects without explicitly specifying their classes. Each generated factory can give the objects as per the Factory pattern.
Описание слайда:
Abstract Factory Abstract Factory patterns work around a super-factory which creates other factories. In Abstract Factory pattern an interface is responsible for creating a factory of related objects without explicitly specifying their classes. Each generated factory can give the objects as per the Factory pattern.

Слайд 21





Abstract Factory: Example
We are going to create a Race and Army interfaces and concrete classes implementing these interfaces. We create an abstract factory class AbstractFactory as next step. Factory classes RaceFactory and ArmyFactory are defined where each factory extends AbstractFactory. A factory creator/generator class FactoryProducer is created.
MainClass, our demo class uses FactoryProducer to get a AbstractFactory object. It will pass information (ORKS / ELVES / DWARFS for Race) to AbstractFactory to get the type of object it needs. It also passes information (WARIOR / ARCHER / CAVALARY for Army) to AbstractFactory to get the type of object it needs.
Описание слайда:
Abstract Factory: Example We are going to create a Race and Army interfaces and concrete classes implementing these interfaces. We create an abstract factory class AbstractFactory as next step. Factory classes RaceFactory and ArmyFactory are defined where each factory extends AbstractFactory. A factory creator/generator class FactoryProducer is created. MainClass, our demo class uses FactoryProducer to get a AbstractFactory object. It will pass information (ORKS / ELVES / DWARFS for Race) to AbstractFactory to get the type of object it needs. It also passes information (WARIOR / ARCHER / CAVALARY for Army) to AbstractFactory to get the type of object it needs.

Слайд 22





Abstract Factory: Example
Описание слайда:
Abstract Factory: Example

Слайд 23





Abstract Factory: Example
Описание слайда:
Abstract Factory: Example

Слайд 24





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 25





Abstract Factory: Example
Описание слайда:
Abstract Factory: Example

Слайд 26





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 27





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 28





Factory Method: Example
Описание слайда:
Factory Method: Example

Слайд 29





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

Слайд 30





Builder
Builder pattern builds a complex object using simple objects and using a step by step approach. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object.
A Builder class builds the final object step by step. This builder is independent of other objects.
Описание слайда:
Builder Builder pattern builds a complex object using simple objects and using a step by step approach. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object. A Builder class builds the final object step by step. This builder is independent of other objects.

Слайд 31





Builder: Example
We have considered a case of army stack forming where a typical army could be a hero and a platoon. Hero could be either a Dwarf or Elf and will be move by a horse. Platoon could be either a Wariors or Archers and will be move afoot.
We are going to create an Stack interface representing stack of army such as heros and platoons and concrete classes implementing the Stack interface and a Movement interface representing type of army moving and concrete classes implementing the Movement interface as hero would be move by a horse and platoon would be move afoot.
We then create a Army class having List of Stack and a ArmyBuilder to build different types of Army objects by combining Stack. MainClass, our demo class will use ArmyBuilder to build a Army.
Описание слайда:
Builder: Example We have considered a case of army stack forming where a typical army could be a hero and a platoon. Hero could be either a Dwarf or Elf and will be move by a horse. Platoon could be either a Wariors or Archers and will be move afoot. We are going to create an Stack interface representing stack of army such as heros and platoons and concrete classes implementing the Stack interface and a Movement interface representing type of army moving and concrete classes implementing the Movement interface as hero would be move by a horse and platoon would be move afoot. We then create a Army class having List of Stack and a ArmyBuilder to build different types of Army objects by combining Stack. MainClass, our demo class will use ArmyBuilder to build a Army.

Слайд 32





Builder: Example
Описание слайда:
Builder: Example

Слайд 33





Builder: Example
Описание слайда:
Builder: Example

Слайд 34





Builder: Example
Описание слайда:
Builder: Example

Слайд 35





Builder: Example
Описание слайда:
Builder: Example

Слайд 36





Builder: Example
Описание слайда:
Builder: Example

Слайд 37





Builder: Example
Описание слайда:
Builder: Example

Слайд 38





Builder: Example
Описание слайда:
Builder: Example

Слайд 39





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

Слайд 40





Adapter
Adapter pattern works as a bridge between two incompatible interfaces. This type of design pattern comes under structural pattern as this pattern combines the capability of two independent interfaces.
Описание слайда:
Adapter Adapter pattern works as a bridge between two incompatible interfaces. This type of design pattern comes under structural pattern as this pattern combines the capability of two independent interfaces.

Слайд 41





Adapter: Example
We have a NatureSpells interface and a concrete class Mage implementing the NatureSpells interface. Mage can cast Nature spells by default.
We are having another interface MoreSpells and concrete classes implementing the MoreSpells interface. These classes define the other type of spells.
We want to make Mage to cast other spells as well. To attain this, we have created an adapter class SpellsAdapter which implements the NatureSpells interface and uses MoreSpells objects to cast the required spell.
Mage uses the adapter class SpellsAdapter passing it the desired spell type without knowing the actual class which can cast the desired spell. MainClass, our demo class will use Mage class to play various spells.
Описание слайда:
Adapter: Example We have a NatureSpells interface and a concrete class Mage implementing the NatureSpells interface. Mage can cast Nature spells by default. We are having another interface MoreSpells and concrete classes implementing the MoreSpells interface. These classes define the other type of spells. We want to make Mage to cast other spells as well. To attain this, we have created an adapter class SpellsAdapter which implements the NatureSpells interface and uses MoreSpells objects to cast the required spell. Mage uses the adapter class SpellsAdapter passing it the desired spell type without knowing the actual class which can cast the desired spell. MainClass, our demo class will use Mage class to play various spells.

Слайд 42





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

Слайд 43





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

Слайд 44





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

Слайд 45





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

Слайд 46





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

Слайд 47





Bridge
Bridge is used when we need to decouple an abstraction from its implementation so that the two can vary independently. This type of design pattern comes under structural pattern as this pattern decouples implementation class and abstract class by providing a bridge structure between them.
This pattern involves an interface which acts as a bridge which makes the functionality of concrete classes independent from interface implementer classes. Both types of classes can be altered structurally without affecting each other.
Описание слайда:
Bridge Bridge is used when we need to decouple an abstraction from its implementation so that the two can vary independently. This type of design pattern comes under structural pattern as this pattern decouples implementation class and abstract class by providing a bridge structure between them. This pattern involves an interface which acts as a bridge which makes the functionality of concrete classes independent from interface implementer classes. Both types of classes can be altered structurally without affecting each other.

Слайд 48





Bridge: Example
We have a PlatoonAPI interface which is acting as a bridge implementer and concrete classes EliteArcher, SharpShooter implementing the PlatoonAPI interface. Platoon is an abstract class and will use object of PlatoonAPI.
MainClass, our demo class will use Platoon class to draw different archer type.
Описание слайда:
Bridge: Example We have a PlatoonAPI interface which is acting as a bridge implementer and concrete classes EliteArcher, SharpShooter implementing the PlatoonAPI interface. Platoon is an abstract class and will use object of PlatoonAPI. MainClass, our demo class will use Platoon class to draw different archer type.

Слайд 49





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

Слайд 50





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

Слайд 51





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

Слайд 52





Facade
Facade pattern hides the complexities of the system and provides an interface to the client using which the client can access the system. This type of design pattern comes under structural pattern as this pattern adds an interface to existing system to hide its complexities.
Описание слайда:
Facade Facade pattern hides the complexities of the system and provides an interface to the client using which the client can access the system. This type of design pattern comes under structural pattern as this pattern adds an interface to existing system to hide its complexities.

Слайд 53





Facade: Example
We are going to create a Hero interface and concrete classes implementing the Hero interface. A facade class HeroeFacade is defined as a next step.
HeroeFacade class uses the concrete classes to delegate user calls to these classes. MainClass, our demo class, will use HeroeFacade class to show the results.
Описание слайда:
Facade: Example We are going to create a Hero interface and concrete classes implementing the Hero interface. A facade class HeroeFacade is defined as a next step. HeroeFacade class uses the concrete classes to delegate user calls to these classes. MainClass, our demo class, will use HeroeFacade class to show the results.

Слайд 54





Facade: Example
Описание слайда:
Facade: Example

Слайд 55





Facade: Example
Описание слайда:
Facade: Example

Слайд 56





Facade: Example
Описание слайда:
Facade: Example

Слайд 57





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

Слайд 58





Composite
Composite pattern is used where we need to treat a group of objects in similar way as a single object. Composite pattern composes objects in term of a tree structure to represent part as well as whole hierarchy. This type of design pattern comes under structural pattern as this pattern creates a tree structure of group of objects.
This pattern creates a class that contains group of its own objects. This class provides ways to modify its group of same objects.
Описание слайда:
Composite Composite pattern is used where we need to treat a group of objects in similar way as a single object. Composite pattern composes objects in term of a tree structure to represent part as well as whole hierarchy. This type of design pattern comes under structural pattern as this pattern creates a tree structure of group of objects. This pattern creates a class that contains group of its own objects. This class provides ways to modify its group of same objects.

Слайд 59





Composite: Example
We have a class Heroes which acts as composite pattern actor class. MainClass, our demo class will use Heroes class to add stack of army level hierarchy and print all heroes.
Описание слайда:
Composite: Example We have a class Heroes which acts as composite pattern actor class. MainClass, our demo class will use Heroes class to add stack of army level hierarchy and print all heroes.

Слайд 60





Composite: Example
Описание слайда:
Composite: Example

Слайд 61





Composite: Example
Описание слайда:
Composite: Example

Слайд 62





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

Слайд 63





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

Слайд 64





Iterator
Iterator pattern is very commonly used design pattern in .Net programming environment. This pattern is used to get a way to access the elements of a collection object in sequential manner without any need to know its underlying representation.
Описание слайда:
Iterator Iterator pattern is very commonly used design pattern in .Net programming environment. This pattern is used to get a way to access the elements of a collection object in sequential manner without any need to know its underlying representation.

Слайд 65





Iterator: Example
We're going to create a abstract class Iterator which narrates navigation method and a class HeroesAggregate, implementing abstract class Aggregate, which retruns the iterator HeroesIterator.
MainClass, our demo class will use HeroesAggregate, a concrete class implementation to print a Names of heroes stored as a collection in HeroesAggregate.
Описание слайда:
Iterator: Example We're going to create a abstract class Iterator which narrates navigation method and a class HeroesAggregate, implementing abstract class Aggregate, which retruns the iterator HeroesIterator. MainClass, our demo class will use HeroesAggregate, a concrete class implementation to print a Names of heroes stored as a collection in HeroesAggregate.

Слайд 66





Iterator: Example
Описание слайда:
Iterator: Example

Слайд 67





Iterator: Example
Описание слайда:
Iterator: Example

Слайд 68





Iterator: Example
Описание слайда:
Iterator: Example

Слайд 69





Thank you!
Описание слайда:
Thank you!



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