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

本文介绍了软件设计中的六大基本原则:单一职责原则、里氏替换原则、开闭原则、迪米特法则、接口隔离原则和依赖倒置原则。通过理解这些原则,有助于开发者创建更稳定、灵活和健壮的软件设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

                                       Liskov Substitution Principle 里氏替换原则

                                       Open Closed Principle 开闭原则

                                       Law of Demeter 迪米特法则

                                       Interface Segregation Principle 接口隔离原则

                                       Dependence Inversion Principle 依赖倒置原则

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

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

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

 

单一职责原则:单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。单一职责原则的核心就是降低耦合和增强内聚,个人感觉重在增强内聚。

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

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

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

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

 

 

 

转载于:https://my.oschina.net/u/170467/blog/730307

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值