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

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
cdover94
 
Razas South Africa
Razas South AfricaRazas South Africa
Razas South Africa
Iné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-2012
Werner Drizhal
 
Aliementacionsana
AliementacionsanaAliementacionsana
Aliementacionsana
Andrea Maya
 
GráFico Razas South Africa
GráFico Razas South AfricaGráFico Razas South Africa
GráFico Razas South Africa
Inés
 

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

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)
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

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