Posts Tagged ‘OO’
OO设计原则
抖胆翻译一下scea study guide里的第一章的OO设计原则.纪录一下.
开闭原则
类应该被扩展,而不是被修改
Liskov替换原则
子类可以替换父类
依赖注入原则
依赖于抽象,而不是实现
接口分离原则
接口应该分开,避免单一通用的接口
合成重用原则
尽量用多态聚合代替继承
最少知识原则
操作知道尽可能少的当前类中的对象(自身,参数,类中的其他实例对象)
发布重用等效原则
细粒度的重用相当于细粒度的版本发布
包依赖:
共同关闭原则
一同变更的类应放在一起
公用重用原则
如果类不会一起被重用,就不应该放到一起.
非循环依赖原则
包之间不可以有循环依赖
依赖不变原则
依赖不应该经常变化
抽象不变原则
抽象包不应该经常变化
软件建模三元素
偶然的灵感, 能否以后编程就和写作文一样呢? 这也应该是面向对象的终极目标吧.下面这个是经常出现在教科书上的例子.
Person tom = new Person() – > tom is a Person
Dog trigger = new Dog() -> trigger is a Dog
List<Person> friends = new ArrayList<Person> – > Person have Person friends
Person implements Emotianal,HumanBehave -> Person behave Emotional and surely behave as a human.
interface Emotional{ sadly(); happily();} ->Emotional including sadly and happily doing things.
interface [...]

