java设计模式小体会

 

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

 

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

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>接口是对客户的承诺,一断做出就无法更改

 

 

以后分析,不过想想,以后补充中。。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tof21

支持原创

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值