深入浅出设计模式(一)

        设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

         我们为什么要学习设计模式呢?根本原因是为了代码的复用,增加可维护性。我们怎么才能最大限度的实现代码的复用呢?我们需要学习面向对象!我们先来介绍一下面向对象的一些基本原则,面向对象有几个重要的原则:单一职责原则、开闭原则、里氏代换、依赖倒转、合成/聚合复用原则、迪米特法则(最小知识原则)。

          单一职责原则(SRP:Single Responsibility Principle):就一个类而言,应该仅有一个引起它变化的原因。

          开闭原则(OCP:Open Close Principal):模块应该对扩展开放,对修改关闭。

          里氏代换(LSP:Liskov Substitution Principle)子类型必须能够替换掉它们的父类型。

          依赖倒转(DIP:Dependency Inversion Principle)高层模块不应该依赖低层模块,两个都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象。

          合成/聚合复用原则(CARP:Composite/AggregateReuse Principle)尽量使用合成/聚合,尽量不要使用类继承。

          迪米特法则(PLK:Principle of Least Knowledge)如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

          有了以上的理论基础,我们对设计模式就有一些初步的了解。设计模式的本质是6个字:封装、继承、多态。

           封装:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。封装有很多好处:良好的封装可以减少耦合;类内部的实现可以自由的修改;对外具有清晰的接口。

          继承:指一种对象直接使用另一种对象的方法和属性。如果子类继承父类,那么子类拥有父类所有非Private的属性和功能;同时,子类也可以具有自己特有的属性和方法;子类还可以以自己的方式实现父类的功能。但对于父类的构造方法子类不能继承,只能被调用。

           多态:表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。

            有了以上的基础,我们可以开始设计模式的学习了。设计模式大体上可以分为三种类型:创建型、结构型和行为型,每种类型又包括若干种。下篇博客中将详细介绍几种重要的设计模式,敬请期待。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值