(1)避免重复原则(DRY - Don't repeat yourself)
[url=http://en.wikipedia.org/wiki/Don%27t_repeat_yourself]http://en.wikipedia.org/wiki/Don%27t_repeat_yourself[/url]
(2)简单原则(KISS - Keep it simple, stupid)
[url=http://en.wikipedia.org/wiki/KISS_principle]http://en.wikipedia.org/wiki/KISS_principle[/url]
(3)适可而止原则(YAGNI - You aren't gonna need it)
[url=http://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it]http://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it[/url]
(4)SOLID原则
[url=http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)]http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)[/url]
S 单一责任原则Single responsibility principle
O 开闭原则Open/closed principle
L 里氏代换原则Liskov substitution principle
I 接口隔离原则Interface segregation principle
D 依赖倒转原则Dependency inversion principle
(5)三次原则(Rule of three)
[url=http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)]http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)[/url]
(6)迪米特法则(LoD - Law of Demeter)
又叫作最少知识原则(principle of least knowledge)
[url=http://en.wikipedia.org/wiki/Law_of_Demeter]http://en.wikipedia.org/wiki/Law_of_Demeter[/url]
(7)维尔特法则(Wirth's law)
[url=http://en.wikipedia.org/wiki/Wirth%27s_law]http://en.wikipedia.org/wiki/Wirth%27s_law[/url]
(8)布鲁克斯法则(Brooks's law)
[url=http://en.wikipedia.org/wiki/Brooks%27s_law]http://en.wikipedia.org/wiki/Brooks%27s_law[/url]
(9)康威法则(Conway's law)
[url=http://en.wikipedia.org/wiki/Conway%27s_Law]http://en.wikipedia.org/wiki/Conway%27s_Law[/url]
(10)伯斯塔尔法则(Postel's law)
[url=https://en.wikipedia.org/wiki/Robustness_principle]https://en.wikipedia.org/wiki/Robustness_principle[/url]
(11)最小惊讶原则(POLA - Principle of least astonishment)
[url=http://en.wikipedia.org/wiki/Principle_of_least_astonishment]http://en.wikipedia.org/wiki/Principle_of_least_astonishment[/url]
参考:
[url=http://www.artima.com/weblogs/viewpost.jsp?thread=331531]http://www.artima.com/weblogs/viewpost.jsp?thread=331531[/url]
[url=http://code.tutsplus.com/tutorials/3-key-software-principles-you-must-understand--net-25161]http://code.tutsplus.com/tutorials/3-key-software-principles-you-must-understand--net-25161[/url]
[url=http://en.wikipedia.org/wiki/Don%27t_repeat_yourself]http://en.wikipedia.org/wiki/Don%27t_repeat_yourself[/url]
(2)简单原则(KISS - Keep it simple, stupid)
[url=http://en.wikipedia.org/wiki/KISS_principle]http://en.wikipedia.org/wiki/KISS_principle[/url]
(3)适可而止原则(YAGNI - You aren't gonna need it)
[url=http://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it]http://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it[/url]
(4)SOLID原则
[url=http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)]http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)[/url]
S 单一责任原则Single responsibility principle
O 开闭原则Open/closed principle
L 里氏代换原则Liskov substitution principle
I 接口隔离原则Interface segregation principle
D 依赖倒转原则Dependency inversion principle
(5)三次原则(Rule of three)
[url=http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)]http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)[/url]
(6)迪米特法则(LoD - Law of Demeter)
又叫作最少知识原则(principle of least knowledge)
[url=http://en.wikipedia.org/wiki/Law_of_Demeter]http://en.wikipedia.org/wiki/Law_of_Demeter[/url]
(7)维尔特法则(Wirth's law)
[url=http://en.wikipedia.org/wiki/Wirth%27s_law]http://en.wikipedia.org/wiki/Wirth%27s_law[/url]
(8)布鲁克斯法则(Brooks's law)
[url=http://en.wikipedia.org/wiki/Brooks%27s_law]http://en.wikipedia.org/wiki/Brooks%27s_law[/url]
(9)康威法则(Conway's law)
[url=http://en.wikipedia.org/wiki/Conway%27s_Law]http://en.wikipedia.org/wiki/Conway%27s_Law[/url]
(10)伯斯塔尔法则(Postel's law)
[url=https://en.wikipedia.org/wiki/Robustness_principle]https://en.wikipedia.org/wiki/Robustness_principle[/url]
(11)最小惊讶原则(POLA - Principle of least astonishment)
[url=http://en.wikipedia.org/wiki/Principle_of_least_astonishment]http://en.wikipedia.org/wiki/Principle_of_least_astonishment[/url]
参考:
[url=http://www.artima.com/weblogs/viewpost.jsp?thread=331531]http://www.artima.com/weblogs/viewpost.jsp?thread=331531[/url]
[url=http://code.tutsplus.com/tutorials/3-key-software-principles-you-must-understand--net-25161]http://code.tutsplus.com/tutorials/3-key-software-principles-you-must-understand--net-25161[/url]