一些软件设计的原则 | 酷 壳 - CoolShell
以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识。这些原则,每一个程序员都应该了解。但是请不要教条主义,在使用的时候还是要多多考虑实际情况。其实,下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中。
目录
Don’t Repeat Yourself (DRY)
Keep It Simple, Stupid (KISS)
Program to an interface, not an implementation
Command-Query Separation (CQS) – 命令-查询分离原则
You Ain’t Gonna Need It (YAGNI)
Law of Demeter – 迪米特法则
面向对象的S.O.L.I.D 原则
Common Closure Principle(CCP)– 共同封闭原则
Common Reuse Principle (CRP) – 共同重用原则
Hollywood Principle – 好莱坞原则
High Cohesion & Low/Loose coupling & – 高内聚, 低耦合
Convention over Configuration(CoC)– 惯例优于配置原则
Separation of Concerns (SoC) – 关注点分离
Design by Contract (DbC) – 契约式设计
Acyclic Dependencies Principle (ADP) – 无环依赖原则
后记
参考