Software Design patroanen – GOF

Klassifikaasje fan 23 design patroanen (ûntwerppatroan) fan software, twadde “GoF” (Gang of Four).

Yn de praktyk

It idee hjir is om sjen te litten hokker ûntwerppatroanen binne en hoe't se wurde klassifisearre, om't dit allinich heul nuttich kin wêze om de measte problemen oer iepenbiere oanbestegingen op te lossen, Besjoch it:

By it feroarjen fan de steat fan in klasse, de ûntwikkelder wol dat ien of mear GUI-klassen oanpast wurde. lykwols, de ûntwikkelder fynt it net ynteressant om in strakke keppeling te meitsjen tusken dizze klassen. Hokker gedrachsûntwerppatroan is it bêste geskikt om dizze situaasje op te lossen?
( ) Komposyt
( ) Adapter
( ) Waarnimmer
( ) Abstrakt fabryk
( ) Dekorator

Faaks liket de fraach sels djipper kennis te easkjen, mas note que se você apenas soubesse a classificação, já poderia acertá-la com toda convicção. O detalhe está na trecho que pede o padrão de projeto comportamental, e só existe uma alternativa que se enquadra, o padrão Observer. Questão resolvida, facilmente!

Na teoria

A tabelinha é esta:



Perceba que o padrão Adapter é o único aplicado tanto para classes como para objetos, razão pela qual a tabela apresenta 24 classificações (e não 23).

Decoreba

Decorar pode não ser a melhor maneira de se aprender, mas com tanta coisa para estudar, essa dica pode lhe salvar na horaH”. Um jeito fácil de decorar esses padrões é através de mnemônicos. No blog de Rogério Araújo tem uma forma bem criativa, em que você decora apenas duas frases e já consegue fazer uma boa classificação, so:

Padrões de CRIAÇÃO (5)

Uma fábrica abstrata constrói um protótipo único!

oersetting: Uma fábrica (Factory Method) abstrata (Abstrakt fabryk) constrói (Builder) um protótipo (Prototype) único (Singleton).

Padrões ESTRUTURAIS (7)

IN ponte adaptada it is composta fan decorações na fachada para o peso mosca se “aproxymar”!

oersetting: A ponte (Bridge) adaptada (Adapter) é composta (Komposyt) de decorações (Dekorator) na fachada (Façade) para o peso mosca (Flyweight) se “aproxymar” (Proxy).

Padrões COMPORTAMENTAIS (11)

Aprendendo quem são os padrões de criação e os estruturais, o restante são padrões comportamentais.

Conceitos

(indo além)

1

Adapter

(Estrutural)

Converter a interface de uma classe em outra interface, esperada pelos clientes, permitindo que classes com interfaces incompatíveis trabalhem em conjunto, o que, de outra forma, seria impossível.

2

Façade

(Estrutural)

Oferecer uma interface única de nível mais elevado para um conjunto de interfaces de um subsistema. yn oare wurden, apresenta uma interface para várias funcionalidades de uma API (coleção de classes) de maneira simples e fácil de usar.

3

Komposyt

(Estrutural)

Permitir o tratamento de objetos individuais e composições desses objetos de maneira uniforme.

4

Bridge

(Estrutural)

Desacoplar (separar) uma abstração de sua implementação para que ambas possam variar independentemente.

5

Singleton

(Criação)

Garantir que uma classe só tenha uma única instância e prover um ponto de acesso global a ela.

6

Waarnimmer

(Comportamental)

Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, os seus dependentes sejam notificados e atualizados automaticamente.

7

Mediator

(Comportamental)

Definir um objeto que encapsula a forma como um conjunto de objetos interagem.

8

Proxy

(Estrutural)

Prover um substituto ou ponto através do qual um objeto possa controlar o acesso a outro. Também é conhecido como surrogate.

9

Chain of Responsibility

(Comportamental)

Compor objetos em cascata para, através dela, delegar uma requisição até que um objeto a sirva. Isto evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação.

10

Flyweight

(Estrutural)

Usar compartilhamento para suportar eficientemente grandes quantidades de objetos complexos (granularidade fina).

11

Builder

(Criação)

Separar a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar diferentes representações.

12

Factory Method

(Criação)

Definir uma interface para criar um objeto mas deixar que subclasses decidam que classe instanciar. Permite adiar a instanciação para subclasses.

13

Abstrakt fabryk

(Criação)

Prover interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

14

Prototype

(Criação)

Especificar tipos a criar usando uma instância como protótipo e criar novos objetos ao copiar este protótipo.

15

Memento

(Comportamental)

Armazenar o estado interno de um objeto para que ele possa ter seu estado restaurado posteriormente (undo).

16

Template Method

(Comportamental)

Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos serem preenchidos pelas subclasses. Permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.

17

State

(Comportamental)

Tastean dat in objekt syn gedrach feroaret as syn ynterne steat feroaret.

18

Strategy

(Comportamental)

Definearje in famylje fan algoritmen, ynkapselje elk en meitsje se útwikselber.

19

Befel

(Comportamental)

Fersyk ynkapselje as objekt, foar klanten om ferskillende oanfragen te parameterisearjen.

20

Tolk

(Comportamental)

in taal jûn, definiearje in foarstelling foar jo grammatika fia in tolk.

21

Dekorator

(Estrutural)

Heakje ekstra ferantwurdlikheden oan in objekt dynamysk.

22

Iterator

(Comportamental)

Soarch in manier om opfolgjende tagong te krijen ta eleminten fan in aggregearre objekt sûnder de ynterne fertsjintwurdiging bleat te lizzen.

23

Besiker

(Comportamental)

Fertsjintwurdigje in operaasje dy't moat wurde útfierd op 'e eleminten fan in objektstruktuer. Hjirmei kinne jo in nije operaasje definiearje sûnder de klassen fan 'e eleminten wêrop it wurket te feroarjen..

 

boarne

Rogério Araújo – Lifetime, IT en Wedstriden

Totaal oantal hits: 4783

Leave a Reply

Jo e-mailadres wurdt net publisearre wurde. Ferplichte fjilden binne markearre mei *