1.类要单一
所设计的类功能要单一 ,一个类应该是描述一类极其相关的属性和方法。
2.加强内聚,松散耦合
指一个类,能够在自己内部实现的功能就自己内部实现,不要去调其它类,尽量减少与其它类的依赖关系。
3.好的封装性
不必对外开放的部分,一律不对外开放。如果在不确定属性权限的情况下,先把类的属性设成private,用的时候再开。
4.类的粒度要合理
Java规范中建议,一个类的大小不要超过1000行,一个方法的大小不要超过100行。
5.实现类不能依赖它的使用类
一个类依赖(使用或调用)了另一个类,那么在另一个类中就不能反过来再依赖当前类。
6.应考虑灵活性,也就是可配置、可维护
用户的需求是会不断改变的,后期的修改与维护是不可避免的,因此软件开发时就要考虑灵活性。
7.要考虑性能,考虑可伸缩性
要权衡速度与资源耗费之间的关系,要考虑软件能够在一定范围内可伸缩。
8.要考虑今后可能的变化,也就是可扩展性
可扩展性指该应用程序能够很方便地添加新的功能。
9.要考虑合理的复用
要尽量考虑复用,但也不能光考虑复用,不能把其它的设计原则都丢掉了。
10.要合理的考虑接口和抽象类的使用
优先使用接口,如果既想约束子类的行为,又要为子类提供公共的功能时,采用抽象类。
11.尽量减少类与协作类的交互次数和交互信息的量
类之间不要反复地调用,不要每次传很多的数据。