![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Patterns
文章平均质量分 65
wangym
这个作者很懒,什么都没留下…
展开
-
六大设计原则之“里氏替换原则”
通俗地讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必应能适应。 里氏替换原则为良好的继承定义了一个规范,一句简单的定义包括了四层含义: 1、子类必须完全实现父类的方法 父类:AbstractGun public abstract class Abs原创 2015-03-25 10:17:20 · 408 阅读 · 0 评论 -
六大设计原则之“单一职责原则”
单一职责原则的定义是:应该有且仅有一个原因引起类的变更。 举例一:电话 传统设计: 一个接口类 1.IPhone:dial(),chat(),hangup() 一个实现类 1.Phone 演变思想: 因为dial和hangup实现的是协议管理,而chat实现的是数据传送;协议的接通和数据的传送都会引起这个接口类或实现类的变化;如拨号和挂断方法只管连接和断开,之后原创 2015-03-25 10:17:14 · 353 阅读 · 0 评论 -
门面模式(Facade Pattern)
近期参与项目研发,调接口时遇一事不爽,比如在调C方法前必须得先调A方法,成功后再调B方法拿到返回结果后,最后才可以调C方法,而且接口调用还会随需求变化而变更,比如可能还得再增加几个步骤...... 门面模式(亦称外观模式Facade Pattern)的思想很好地解决了这一问题,当然,它的优点也不止如此。 场景举例 投递信件的过程是:首先写信的内容 -> 其次写信封 ->原创 2015-03-25 10:17:46 · 294 阅读 · 1 评论 -
门面模式(Facade Pattern)
近期参与项目研发,调接口时遇一事不爽,比如在调C方法前必须得先调A方法,成功后再调B方法拿到返回结果后,最后才可以调C方法,而且接口调用还会随需求变化而变更,比如可能还得再增加几个步骤...... 门面模式(亦称外观模式Facade Pattern)的思想很好地解决了这一问题,当然,它的优点也不止如此。 场景举例 投递信件的过程是:首先写信的内容 -> 其次写信...2010-08-21 14:31:09 · 124 阅读 · 0 评论 -
六大设计原则之“单一职责原则”
单一职责原则的定义是:应该有且仅有一个原因引起类的变更。 举例一:电话 传统设计: 一个接口类 1.IPhone:dial(),chat(),hangup() 一个实现类 1.Phone 演变思想: 因为dial和hangup实现的是协议管理,而chat实现的是数据传送;协议的接通和数据的传送都会引起这个接口类或实现类的变化;如拨号和挂断方法只管连接和断开,之...原创 2010-06-27 21:35:43 · 132 阅读 · 0 评论 -
六大设计原则之“里氏替换原则”
通俗地讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必应能适应。 里氏替换原则为良好的继承定义了一个规范,一句简单的定义包括了四层含义: 1、子类必须完全实现父类的方法 父类:AbstractGun public abstract class Ab...2010-07-04 17:15:09 · 147 阅读 · 0 评论