设计模式初探--桥接模式想到的

今天公司大牛讲解案例桥接模式,由桥接模式想到了设计模式的6大原则。我的设计模式的理解总结如下:设计模式

最近这刚开始看设计模式,固然是从最基本的6大原则看起,全部的设计模式也基本上都是围绕着这六大设计原则实现的。设计

6大设计原则分别是:Single Responsible Principle 单一职责原则htm

                                       Liskov Substitution Principle 里氏替换原则对象

                                       Open Closed Principle 开闭原则继承

                                       Law of Demeter 迪米特法则接口

                                       Interface Segregation Principle 接口隔离原则ip

                                       Dependence Inversion Principle 依赖倒置原则ci

这6个原则的首字母(里氏替换原则和迪米特法则的首字母重复,只取一个)联合起来就是SOLID(稳定的),其表明的含义也就是把这6个原则结合使用的好处:创建稳定,灵活,健壮的设计。开发

而开闭原则又是重中之重,是最基础的原则,是其余五大原则的精神领袖。要理解23中设计模式,先要理解这6大设计原则。如下原则的解释也是我在百度上抠的,我的感受好好理解开闭原则,其余的就好懂了。其实最重要的原则就是稳定,灵活,健壮。get

开闭原则:对扩展开放,对修改关闭。就是原有的方法或模块尽可能不要修改,能够新建方法或模块。实现开闭原则的关键就在于“抽象”。把系统的全部可能的行为抽象成一个抽象底层,这个抽象底层规定出全部的具体实现必须提供的方法的特征。做为系统设计的抽象层,要预见全部可能的扩展,从而使得在任何扩展状况下,系统的抽象底层不需修改;同时,因为能够从抽象底层导出一个或多个新的具体实现,能够改变系统的行为,所以系统设计对扩展是开放的。理解了开闭原则对下面几个原则的理解也会起到很大助力。

 

单一职责原则:单一职责原则就是指一个类或者模块应该有且只有一个改变的缘由。单一职责原则的核心就是下降耦合和加强内聚,我的感受重在加强内聚。

里氏替换原则通俗的来说就是:子类能够扩展父类的功能,但不能改变父类原有的功能。我的理解里氏替换原则主要是针对继承的(目前我能想到的只有继承~)。

迪米特法则:又叫做最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其余对象有尽量少的了解,不和陌生人说话。此法则主要是为了下降类之间的耦合,减小依赖。目前还不是很理解这个法则,须要结合实际慢慢体会。

接口隔离原则:客户端不该该依赖它不须要的接口;一个类对另外一个类的依赖应该创建在最小的接口上。

依赖倒置原则:A.高层次的模块不该该依赖于低层次的模块,他们都应该依赖于抽象。B.抽象不该该依赖于具体实现,具体实现应该依赖于抽象。面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变更时上层也要跟着变更,这就会致使模块的复用性下降并且大大提升了开发的成本。面向对象的开发很好的解决了这个问题,通常状况下抽象的变化几率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。即便实现细节不断变更,只要抽象不变,客户程序就不须要变化。这大大下降了客户程序与实现细节的耦合度

相关文章
相关标签/搜索