SOLID Principles

Embed Size (px)

Text of SOLID Principles

PowerPoint Presentation

Its4CompanyS.O.L.I.D.Princpios da Orientao ObjetosThiago Lunardi | Arquiteto de SoftwareMicrosoft Certified Solution DeveloperMicrosoft Most Valuable Professional

Its4Company O QUE VOC SABE SOBRE O.O.?QUEM DESENVOLVE COM LINGUAGEM COM SUPORTE OBJETOS?

Its4Company O QUE VOC SABE SOBRE O.O.?QUEM DESENVOLVE ORIENTADO OBJETOS?

Its4Company O QUE VOC SABE SOBRE O.O.?O QUE DESENVOLVER ORIENTADO OBJETOS?

Its4Company VANTAGENS DE DESENVOLVER REALMENTE ORIENTADO OBJETOSEntregas mais rpidasManuteno mais fceisReduz a complexidade

Its4Company COMO IDENTIFICAR UM BOM DESIGN DE UM DESIGN RUIM?

Its4Company IDENTIFICANDO UM DESIGN RUIMCDIGO PARECE

RIGIDEZ: O cdigo difcil de alterar;FRAGILIDADE: O cdigo fcil de quebrar;IMOBILIDADE: O cdigo difcil de reusar;VISCOSIDADE: difcil de fazer do jeito certo;

Its4Company IDENTIFICANDO UM BOM DESIGNCDIGO PARECE

CARACTERSTICAS: ALTA coeso e BAIXO acoplamento;BOAS PRTICAS: De acordo c/framework e lingaguem;ORIENTAO: Seguir os princpios de O.O.;PATTERNS: Implementar padres de desenvolvimento;

Its4Company S.O.L.I.D. PRINCIPLESS. O. L. I. D.Princpios por Robert C. Martin (Uncle Bob)Mneumonico por Michael Feathers

Its4Company S.O.L.I.D. PRINCIPLESSRP: Single Responsability PrincipleOCP: Open/Closed PrincipleLSP: Liskov Substitution PrincipleISP: Interface Segregation PrincipleDIP: Dependency Injection Principle

Its4Company SRP SINGLE RESPONSABILITY PRINCIPLEUma classe deve ser apenas uma responsabilidade.Se no seu projeto tiver uma classe chamada util,significa que todo o resto do seu projeto intil.

Its4Company OCP OPEN/CLOSED PRINCIPLEUma entidade deve ser aberta para exteno,mas fechada para modificao.

Its4Company LSP LISKOV SUBSTITUION PRINCIPLEUma classe derivada deve ser substituveis por suas classes base.

Its4Company ISP INTERFACE SEGREGATION PRINCIPLEMuitas interfaces segregadas so melhores que uma interface geral nica.

Its4Company DIP DEPENDENCY INVERSION PRINCIPLEDependa de uma abstrao, e no de uma implementao.

Its4Company

Its4Company

Its4Company

Its4Company

Its4Company

Its4Company

Its4Company

Its4Company