.


:




:

































 

 

 

 


( )




1. .

2. .

3. .

4. .

5. .

 

1. (. software design patterns) . , . '- ', , .

2.

70- (. Christopher Alexander) . , .

1987 (. Kent Beck) (. Ward Cunningham) Smalltalk.

1988 (. Erich Gamma) .

19891991 (. James Coplien) C++ 1991 Advanced C++ Idioms.

, г (. Richard Helm), (. Ralph Johnson) (. John Vlissides) Design Patterns Elements of Reusable Object-Oriented Software. 23 . (. Gang of Four - GoF). .

 

1. (Abstract Factory) (Builder) (Singleton) (Prototype) (Factory Method)
2. (Adapter) (Decorator) (Proxy) (Composite) ̳ (Bridge) (Flyweight) (Facade)
3. ³ (Visitor) (Interpreter) (Iterator) (Command) (Chain of Responsibility) (Mediator) (Observer) (State) (Strategy) (Memento) (Template Method)

4.    
    --  
    --  
    볺-    
    -  
    -    
    Active Record .

 

(. Software architectural patterns) , (. good practices) . . , .

, . ', () .

3.

, (. Creational patterns) , . , '.

, , , , , ', '.

ֳ , ', .

, , , .

, ' , .

, , , , .

', .

 

(. Abstract Factory) , .

' ', .

:

  • , , ';
  • ' ' ;
  • ';
  • ', , .

UML ,

  • AbstractFactory :
    • , '-;
  • ConcreteFactory :
    • , '-;
  • AbstractProduct :
    • '-;
  • ConcreteProduct :
    • '-, ;
    • AbstractProduct;
  • Client 볺:
    • , AbstractFactory AbstractProduct.

³

  • ConcreteFactory. ' , . ' 볺 ;
  • AbstractFactory ' ConcreteFactory.

 

3.2. ( )

(. Builder) , .

³ ' , .

:

  • ' , ' ;
  • ', .

UML ,

  • Builder :
    • ' Product;
  • ConcreteBuilder :
    • Builder;
    • , , ;
    • ;
  • Director :
    • ', Builder;
  • Product :
    • '. ConcreteBuilder ;
    • , , .

³

  • '- Director '- Builder;
  • , ;
  • ;
  • .

UML ,

 

( )

(. Singleton) , .

, , .

, . , , . .

, , , ? ', .

, , , . .

:

  • , 볺;
  • , 볺 .

 

ij ,

  • Singleton :
    • Instance, 볺 . Instance ;
    • .

³

볺 ' Singleton Instance.

 





:


: 2016-11-18; !; : 1162 |


:

:

, .
==> ...

1714 - | 1525 -


© 2015-2024 lektsii.org - -

: 0.024 .