====== Robert C. Martin's Principle Collection ====== Robert C. Martin collected ten principles dealing with object-oriented design. The first five of them---the so-called [[collections:SOLID]] principles--- deal with the design of classes: * [[principles:Single Responsibility Principle]] (SRP) * [[principles:Open-Closed Principle]] (OCP) * [[principles:Liskov Substitution Principle]] (LSP) * [[principles:Interface Segregation Principle]] (ISP) * [[principles:Dependency Inversion Principle]] (DIP) Then there are three principles about package cohesion: * [[principles:Release-Reuse Equivalency Principle]] (REP) * [[principles:Common Closure Principle]] (CCP) * [[principles:Common Reuse Principle]] (CRP) The last three principles deal with package coupling: * [[principles:Acyclic Dependency Principle]] (ADP) * [[principles:Stable Dependencies Principle]] (SDP) * [[principles:Stable Abstractions Principle]] (SAP) ===== Origin ===== * Robert C. Martin: //Agile Software Development, Principles, Patterns, and Practices// * [[http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod|ButUncleBob: Principles of OOD]] ===== Further Reading ===== * [[wp>SOLID]] * [[wp>Package Principles]] ===== Box ===== ^ **[[collections:Robert C. Martin's Principle Collection]]** ^^^^^^^^^^^ ^ **[[collections:SOLID]]** ^^^^^ Package Cohesion ^^^ Package Coupling ^^^ | [[principles:Single Responsibility Principle|SRP]] | [[principles:Open-Closed Principle|OCP]] | [[principles:Liskov Substitution Principle|LSP]] | [[principles:Interface Segregation Principle|ISP]] | [[principles:Dependency Inversion Principle|DIP]] | [[principles:Release-Reuse Equivalency Principle|REP]] | [[principles:Common Closure Principle|CCP]] | [[principles:Common Reuse Principle|CRP]] | [[principles:Acyclic Dependency Principle|ADP]] | [[principles:Stable Dependencies Principle|SDP]] | [[principles:Stable Abstractions Principle|SAP]] | ===== Discussion ===== Discuss this wiki article and the collection on the corresponding [[talk:collections:Robert C. Martin's Principle Collection|talk page]].