您的位置:首页 > 编程语言 > Java开发

java设计模式小体会

2010-08-11 15:12 260 查看
最近这段时间一直在研究设计模式,感觉还是要应用于实践中,在会有所得,就像生活一样,听的,看的,不如自己去实践,现在将小小的心的写下来

一。软件的可维护性和可复用性

1.可复用性:

<1>可插入性:将具有同样接口的类去替换软件中的一个类,程序不会受到影响.

<2>可扩展性:新的功能可以很容易的加入到软件中

<3>灵活性:对软件中的修改,可以很平稳的过渡,对其他模块没有影响

2.可维护和可复用的基石:设计原则和设计模式

3.java面向对象的基本特性:封装,继承,多态,抽象.

二,设计原则

1.开闭原则:

<1>对扩展开发,对修改关闭。

<2>面向对象的语言来讲:就是不可以修改的是系统的抽象层,可以扩展的是系统的实现层

<3>抽象化是关键

<4>对变化的封装:一中变化不要和另外一种变化混在一起。继承是封装变化的方法。一个类的继承等级结构,不要超过两层.

2.里氏替换原则

<1>基类可以出现的地方,子类一定可以出现

3.依赖倒转原则

<1>要依赖抽象编程,而不是实现

<2>对方法的声明,参数的声明,对象的声明等等最好是用抽象

4.组合、聚合复用原则

<1>组合聚合复用优先于继承

<2>一个类是另外一个类的角色,使用组合聚合

5.接口隔离原则

<1>使用尽可能多的接口比使用单一接口要好

<2>接口的合理划分:一个接口代表一个角色

<3>定制服务:为不同的客户提供不同的接口

<4>接口的污染:面向对象的一个关键是对接口和角色的合理划分

6.迪米特法则

<1>只和朋友说话:

<2>对类,方法,变量的访问权限

6.srp(单一职责原则)

<1>一个类只有一个地方可以变化

<2>一个类的变化只影响一个类

<3>一个类的变化只影响一个等级接口

抽象类:

<1>抽象类是用了继承的

<2>是用继承的四点要求:

不要从工具类继承,is-a和has-a关系,不会将子类设计为其他类的子类,子类是扩展父类的功能,而不是置换和撤销

接口:

<1>接口是对客户的承诺,一断做出就无法更改

以后分析,不过想想,以后补充中。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: