SlideShare uma empresa Scribd logo
1 de 8
Common Closure Principle (CCP) “classes que mudam juntas, permanecem juntas”
Common Closure Principle (CCP) Common Closure Principle (CCP) é um princípio design de pacotes cujo foco é a manutenabilidade do código.  A abordagem foi proposta por Robert Martin, é uma generalização do Single Responsibility Principle (SIP). Para o SIP uma classe deve ter apenas um motivo para ser alterada, se mais de um tipo de mudança no sistema afeta a classe provavelmente ela pode ser dividia em mais de uma, ou seja, ela representa conceitos demais.
Common Closure Principle (CCP) As classes de um pacote devem ser fechadas para os mesmos tipos de mudança. Uma mudança que afeta um pacote afeta todas as classes daquele pacote e nenhum outro pacote Um pacote não deve ter múltiplas razões para mudar.
Common Closure Principle (CCP) Um mudança deve ser restrita a um (ou poucos) pacote(s) Então, ponha em um pacote as classes que provavelmente mudarão pela mesma razão As classes em um pacote devem ser fechadas em conjunto contra o mesmo tipo de mudanças. Uma mudança que afeta um pacote afeta todas as classes desse pacote.
Common Closure Principle (CCP) Problema
Common Closure Principle (CCP) Solução
Conclusão Mesmo a maioria dos princípios do design de classes defendendo o baixo acoplamento, de modo que elas possam mudar sem afetar as outras classes, CCP tenta visualizar as classes que são dependentes umas das outros na perspectiva da manutenção do código.
Referências MARTINS, José Carlos Cordeiro, Técnicas Para Gerenciamento de Projetos de Software. http://www.fi.muni.cz/~sochor/PA103/Slajdy/TvorbaBaliku.pdfhttp://www.objectmentor.com/omSolutions/oops_what.html

Mais conteúdo relacionado

Destaque

Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!
Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!
Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!Axel Springer Marktforschung
 
Technology Entrepreneurship Venture Lab 2012 - Trunk monkey
Technology Entrepreneurship Venture Lab 2012 - Trunk monkeyTechnology Entrepreneurship Venture Lab 2012 - Trunk monkey
Technology Entrepreneurship Venture Lab 2012 - Trunk monkeyPrakash Pimpale
 
Evidencias del cambio climático en la guajira
Evidencias del cambio climático en la guajiraEvidencias del cambio climático en la guajira
Evidencias del cambio climático en la guajiraIliana Romero
 
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNA
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNAStrategisches Sourcing - Schönheitskur für jede Unternehmens-DNA
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNAAndreas Söllner
 
Si yo tuviera un millon de dolares
Si yo tuviera un millon de dolaresSi yo tuviera un millon de dolares
Si yo tuviera un millon de dolarescdover94
 
Razas South Africa
Razas South AfricaRazas South Africa
Razas South AfricaInés
 
Innovationsmanagement 2.0 - Session 3 (WS2008/09)
Innovationsmanagement 2.0 - Session 3 (WS2008/09)Innovationsmanagement 2.0 - Session 3 (WS2008/09)
Innovationsmanagement 2.0 - Session 3 (WS2008/09)Patrick Fritz
 
Neues ebr recht referat 01-2012
Neues ebr recht   referat 01-2012Neues ebr recht   referat 01-2012
Neues ebr recht referat 01-2012Werner Drizhal
 
Aliementacionsana
AliementacionsanaAliementacionsana
AliementacionsanaAndrea Maya
 
Fraktionsgeschlossenheit
FraktionsgeschlossenheitFraktionsgeschlossenheit
Fraktionsgeschlossenheitkai-arzheimer
 
Procycling Rennrad Opening Woche 2014 in Südtirol
Procycling Rennrad Opening Woche 2014 in SüdtirolProcycling Rennrad Opening Woche 2014 in Südtirol
Procycling Rennrad Opening Woche 2014 in SüdtirolHotel Lindenhof
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumannMarvin Romero
 
standardization for highschool e-learning
standardization for highschool e-learningstandardization for highschool e-learning
standardization for highschool e-learningWolf Spalteholz
 
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...FIGGE+SCHUSTER AG
 
GráFico Razas South Africa
GráFico Razas South AfricaGráFico Razas South Africa
GráFico Razas South AfricaInés
 
Investment Horizons (2008)
Investment Horizons (2008)Investment Horizons (2008)
Investment Horizons (2008)Jon Beckett
 

Destaque (18)

Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!
Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!
Leserbefragung zeigt: eHOME ist das Magazin für Techniktrends!
 
Technology Entrepreneurship Venture Lab 2012 - Trunk monkey
Technology Entrepreneurship Venture Lab 2012 - Trunk monkeyTechnology Entrepreneurship Venture Lab 2012 - Trunk monkey
Technology Entrepreneurship Venture Lab 2012 - Trunk monkey
 
Sistema eclíptico
Sistema eclípticoSistema eclíptico
Sistema eclíptico
 
Evidencias del cambio climático en la guajira
Evidencias del cambio climático en la guajiraEvidencias del cambio climático en la guajira
Evidencias del cambio climático en la guajira
 
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNA
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNAStrategisches Sourcing - Schönheitskur für jede Unternehmens-DNA
Strategisches Sourcing - Schönheitskur für jede Unternehmens-DNA
 
Si yo tuviera un millon de dolares
Si yo tuviera un millon de dolaresSi yo tuviera un millon de dolares
Si yo tuviera un millon de dolares
 
Razas South Africa
Razas South AfricaRazas South Africa
Razas South Africa
 
Innovationsmanagement 2.0 - Session 3 (WS2008/09)
Innovationsmanagement 2.0 - Session 3 (WS2008/09)Innovationsmanagement 2.0 - Session 3 (WS2008/09)
Innovationsmanagement 2.0 - Session 3 (WS2008/09)
 
Neues ebr recht referat 01-2012
Neues ebr recht   referat 01-2012Neues ebr recht   referat 01-2012
Neues ebr recht referat 01-2012
 
Aliementacionsana
AliementacionsanaAliementacionsana
Aliementacionsana
 
Fraktionsgeschlossenheit
FraktionsgeschlossenheitFraktionsgeschlossenheit
Fraktionsgeschlossenheit
 
Procycling Rennrad Opening Woche 2014 in Südtirol
Procycling Rennrad Opening Woche 2014 in SüdtirolProcycling Rennrad Opening Woche 2014 in Südtirol
Procycling Rennrad Opening Woche 2014 in Südtirol
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumann
 
standardization for highschool e-learning
standardization for highschool e-learningstandardization for highschool e-learning
standardization for highschool e-learning
 
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...
FIGGE+SCHUSTER AG: Workshop "Digitale Innovationen im Galopprennsport" Concep...
 
GráFico Razas South Africa
GráFico Razas South AfricaGráFico Razas South Africa
GráFico Razas South Africa
 
Investment Horizons (2008)
Investment Horizons (2008)Investment Horizons (2008)
Investment Horizons (2008)
 
Diseases
DiseasesDiseases
Diseases
 

Mais de Engenharia de Software Ágil

OCP - The Open Close Principle - Princípio aberto/fechado
OCP - The Open Close Principle - Princípio aberto/fechadoOCP - The Open Close Principle - Princípio aberto/fechado
OCP - The Open Close Principle - Princípio aberto/fechadoEngenharia de Software Ágil
 

Mais de Engenharia de Software Ágil (20)

Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Common closure principle
Common closure principleCommon closure principle
Common closure principle
 
Acyclic dependencies principle
Acyclic dependencies principleAcyclic dependencies principle
Acyclic dependencies principle
 
Acyclic dependencies principle (adp)
Acyclic dependencies principle  (adp)Acyclic dependencies principle  (adp)
Acyclic dependencies principle (adp)
 
Reuse release equivalence principle
Reuse release equivalence principleReuse release equivalence principle
Reuse release equivalence principle
 
Rep reuse release equivalence principle
Rep reuse release equivalence principleRep reuse release equivalence principle
Rep reuse release equivalence principle
 
OCP - The Open Close Principle - Princípio aberto/fechado
OCP - The Open Close Principle - Princípio aberto/fechadoOCP - The Open Close Principle - Princípio aberto/fechado
OCP - The Open Close Principle - Princípio aberto/fechado
 
Sdp – stable dependencies principles
Sdp – stable dependencies principlesSdp – stable dependencies principles
Sdp – stable dependencies principles
 
principio de reutilização comum
principio de reutilização comumprincipio de reutilização comum
principio de reutilização comum
 
Princípio law of demeter
Princípio law of demeterPrincípio law of demeter
Princípio law of demeter
 
Lod law of demeter
Lod law of demeterLod law of demeter
Lod law of demeter
 
Dip the dependency inversion principle
Dip   the dependency inversion principleDip   the dependency inversion principle
Dip the dependency inversion principle
 
Dip the dependency inversion principle
Dip   the dependency inversion principleDip   the dependency inversion principle
Dip the dependency inversion principle
 
Dip the dependency inversion principle
Dip   the dependency inversion principleDip   the dependency inversion principle
Dip the dependency inversion principle
 
(ISP) - Interface Segregation Principle
(ISP)  - Interface Segregation Principle(ISP)  - Interface Segregation Principle
(ISP) - Interface Segregation Principle
 
LSP – The Liskov Substitution Principle
LSP – The Liskov Substitution PrincipleLSP – The Liskov Substitution Principle
LSP – The Liskov Substitution Principle
 
SRP - Single Responsability Principle
SRP - Single Responsability PrincipleSRP - Single Responsability Principle
SRP - Single Responsability Principle
 
Princípio Law Of Demeter (LOD)
Princípio Law Of Demeter (LOD)Princípio Law Of Demeter (LOD)
Princípio Law Of Demeter (LOD)
 

Common closure principle

  • 1. Common Closure Principle (CCP) “classes que mudam juntas, permanecem juntas”
  • 2. Common Closure Principle (CCP) Common Closure Principle (CCP) é um princípio design de pacotes cujo foco é a manutenabilidade do código. A abordagem foi proposta por Robert Martin, é uma generalização do Single Responsibility Principle (SIP). Para o SIP uma classe deve ter apenas um motivo para ser alterada, se mais de um tipo de mudança no sistema afeta a classe provavelmente ela pode ser dividia em mais de uma, ou seja, ela representa conceitos demais.
  • 3. Common Closure Principle (CCP) As classes de um pacote devem ser fechadas para os mesmos tipos de mudança. Uma mudança que afeta um pacote afeta todas as classes daquele pacote e nenhum outro pacote Um pacote não deve ter múltiplas razões para mudar.
  • 4. Common Closure Principle (CCP) Um mudança deve ser restrita a um (ou poucos) pacote(s) Então, ponha em um pacote as classes que provavelmente mudarão pela mesma razão As classes em um pacote devem ser fechadas em conjunto contra o mesmo tipo de mudanças. Uma mudança que afeta um pacote afeta todas as classes desse pacote.
  • 5. Common Closure Principle (CCP) Problema
  • 6. Common Closure Principle (CCP) Solução
  • 7. Conclusão Mesmo a maioria dos princípios do design de classes defendendo o baixo acoplamento, de modo que elas possam mudar sem afetar as outras classes, CCP tenta visualizar as classes que são dependentes umas das outros na perspectiva da manutenção do código.
  • 8. Referências MARTINS, José Carlos Cordeiro, Técnicas Para Gerenciamento de Projetos de Software. http://www.fi.muni.cz/~sochor/PA103/Slajdy/TvorbaBaliku.pdfhttp://www.objectmentor.com/omSolutions/oops_what.html