posts - 23,comments - 66,trackbacks - 0
QWAN(无名的质)、Gate(门)、Way(道)
利用道从门演化成质,就是采用一定的模式利用一种语言达到软件的完美。

无名天地之始,有名万物之母。
名是死的混沌。

道生一,一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和。
气聚而有其形,气散而归于无形。

《老子》:善为士者不武。--好的设计师不会在他设计的系统中再做大规模的修改。
《老子》:天下有道,却走马以粪;天下无道,戎马生于效。

开闭原则:对扩展开放,对修改关闭。--抽象化是关键,对可变性进行封装。
《太玄》:知固而不知革,物失其则;知革而不知固,物失其均。
所有类图的继承结构都不会超过两层,否则就会失去对于可变性的封装原则,就会在一个封装内含有多个可变元素。

里式代换原则:任何基类可以出现的地方,子类一定可以出现。
依赖倒转原则:要依赖与抽象,不要依赖与实现。
合成/聚合复用原则:要尽量使用合成和聚合,少使用继承。
迪米特法则:一个软件实体应该尽可能少的与其他实体发生相互作用。
接口隔离原则:应当为client提供尽可能小的单独的接口,而不是提供大的总的接口。

可插拔性的关键在于存在一个接口,以及每个构件都实现了这个接口。

应当优先使用接口实现抽象类型。

抽象类是用来继承的,具体类不是用来继承的。
抽象类应该具有尽可能多的共同代码,应当具有尽可能少的数据。

类之间的继承是很容易被滥用的复用工具。
防止继承滥用的原则:
  1. 区分has-a和is-a的区别
  2. 子类有扩展超类的责任,而不是替换掉
  3. 不要从工具类继承
posted on 2006-06-09 02:34 rd2pm 阅读(524) 评论(0)  编辑  收藏 所属分类: java languagesystem design

只有注册用户登录后才能发表评论。


网站导航: