A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil

Apresentações semelhantes


Apresentação em tema: "Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil"— Transcrição da apresentação:

1 Design Patterns e você. Jay Moretti - @jay_moretti Grupo de desenvolvedores Actionscripts do Brasil http://www.as3devs.com.br http://as3devsbr.groups.adobe.comdobe.com group1337489@groupsim.cogroup1337489@groupsim.com

2 Este sou eu trabalhando de madrugada. Ignorem a cara de tonto.

3 Programador desde pirralho. Programador Flash desde 2004. RIA’s, mobile, AIR. Pre-release, Flash CS5, Flash Builder. FDT Evangelist Me demiti da Digitas Brasil pra estudar arte generativa. Who the fuck am I?

4 Não vamos começar falando de Design Patterns.

5 Vamos começar com Programação Orientada a Objetos

6 Abstração Abstração é um modelo, uma idéia, um conceito. É o ponto de partida para algo concreto. Ex: Um veículo. Encapsulamento É o que define um objeto. Podemos ter rodas, eixo, direção, banco traseiro, retrovisor, mas isso não significa que temos um carro. Só temos as peças. Encapsulamento é isso, é não só ter as peças, mas dizer como elas se relacionam e funcionam juntas para fazer o objeto carro funcionar. Você não precisa saber como a parte de dentro funciona. Você só precisa fazer funcionar. Ex. virar a chave, acelerar, frear, trocar de marcha. Herança O melhor jeito de economizar tempo programando. Herança é basicamente compartilhar propriedades, métodos e eventos de outro objeto/classe. Ex: Quando extendemos Sprite, temos todas as propriedades que um Sprite tem. 2 jeitos de se fazer Herança: Interfaces e Classes Abstratas. Polimorfismo Do grego, “Poli” = muitas, “morfos” = formas. Está diretamente ligado a Herança. É a função de transformar uma coisa em outra.

7 Agora sim vamos falar de Design Patterns.

8 Design Patterns são a solução um problema.

9 Programe em cima de uma interface e não de uma implementação Os princípios de Design patterns foram criados para incentivar o REUSO de código. Ou seja, quanto mais flexível seu codígo for, mais fácil será de se administrar mudanças mais tarde. Use composições e não herança O outro princípio básico dos Design Patterns é o de se usar objetos específicos para cada coisa e não usar herança. Isso porque quando um objeto herda propriedades e métodos de outro, estas propriedades e métodos passam a ser acessíveis, tornando-o assim, suscetível “Gambiarras”.

10 Programe em cima de uma interface e não de uma implementação O que é Implementação? Implementação é o código em si. O como você aplica uma função de uma interface ou de uma Classe Abstrata. Porque se programar em cima uma interface e não uma implementação? Dependencia de código. Quando se programa em cima de uma interface, seu código está separado da implementação e não fica dependente da mesma, assim,se você precisa mudar uma coisa, não afetará as subclasses. Isso significa não usar classes abstratas? De maneira alguma. Existem vantagens de se usar classes abstratas. Se você não precisa ter independência da classe base, use Interfaces, se não, use classes Abstratas. Tudo depende do tamanho e da necessidade da sua aplicação.

11 Use composições e não herança O que é uma Composição? Vamos explicar usando um exemplo. Porque se usar composições e não heranças? White-box vs Black-box. Mas isso não vai contra um dos 4 pricípios de POO? Na verdade não. Você não vai abandonar a aplicação de herança. Ambas devem trabalhar juntas.

12 White-box vs Black-box

13 O que é White-box? O Conceito de white-box define um objeto cujas propriedades e métodos são visíveis, mas nem sempre acessáveis, quando você herda propriedades e métodos de um objeto, elas estarão visíveis e acessíveis para a sua subclasse. As vantagens? As vantagens de se ter um objeto aberto, está na facilidade de se saber como ele funciona. Você pode ver toda sua estrutura e como ela trabalha para poder implementá-la. As desvantagens? A maior desvantagem de um objeto aberto é exatamente usar a sua maior vantagem como fraqueza, sabendo como ela funciona você pode delegar uma ação que pode enganar o funcionamento interno do objeto, também conhecido como GAMBIARRA.

14 O que é Black-box? O extremo oposto de white-box. Criando uma composição, você tem acesso só aos métodos e propriedades públicas de um objeto, sendo forçado a respeitar os parâmetros do mesmo, não precisando se preocupar com seu funcionamento interno. As vantagens? Você não precisa se preocupar como funciona. Estabilidade. As desvantagens? Não consegui achar/pensar em nenhuma desvantagens em usar esse método.

15 Escolhendo seu Design Pattern.

16 Creational Patterns Factory Method Singleton --------------------------------------- Abstract Lazy Initialization Multition Object Pool Prototype Structural PatternsDecoratorAd apter Composite --------------------------------- ------BridgeFacadeFlyweight ProxyObject PoolPrototype Behavioral PatternsCommandO bserver Template State Strategy --------------------------------------- Blackboard Interpreter Iterator Mediator Memento Specification Visitor E muito mais...

17 Agora ignore todos eles.

18 WTF?????????

19 Exemplo Clássico.

20 Referencias

21 Jay Moretti Twitter: @jay_moretti Skype: jrmoretti Grupo de desenvolvedores Actionscripts do Brasil http://www.as3devs.com.br http://as3devsbr.groups.adobe.comdobe.com group1337489@groupsim.cogroup1337489@groupsim.com


Carregar ppt "Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil"

Apresentações semelhantes


Anúncios Google