第一章 设计模式<提纲>

系列文章目录

第一章 设计模式<提纲>



前言

设计模式是程序设计的真相.技术花样繁多,但是技术的核心离不开设计模式;


提示:以下是本篇文章正文内容,下面案例可供参考

一、学习设计模式的困难

设计模式离我们很远又离我们很近,我们时常听到设计模式但是工作中却很少用到;

随着新技术新思想越来越多,很多人将精力投入到新技术新思路的学习,忽略了设计模式;

设计模式本身又难学难精,看书看资料云里雾里的;

二、为什么学习设计模式?

  1. 如果你的业务场景很简单且没有扩展的必要,那么没有必要用设计模式,设计模式应对复杂且不稳定的场景,这些场景下设计模式的优势巨大;
  2. 虽然新技术新思想日新月异.新思想很多是对设计模式的凝练封装,像AOP思想就是对代理模式和装饰器模式的凝练.新技术的开发也是遵循设计模式的,精通设计模式,对学习新技术有着巨大大帮着,万变不离其宗.

三、怎么学习设计模式?

  1. 如果要真正的学习设计模式,建议买一本关于设计的书,单纯的浏览贴子是很难精通设计模式的;直接啃书的学习曲线过于陡峭,本系列文章可以看成是设计模式的入门,降低学习曲线;
  2. 学习设计模式不是盲目的把23种设计模式从头到尾看一遍,这样没什么用,设计模式是有套路的,抓住套路再学习会事半功倍;

四、设计模式套路之6原则

6原则是设计套路的核心,23中设计模式是6原则的具体应用;先熟知6原则,之后学习设计模式时要不断的比对6原则.

1.6原则概要

  • 单一职责原则:一次只能干一件事,一个类或一个函数,它的职责只能有一个,不混用;
  • 里氏替换原则:子类可以透明的替换父类,但凡能用父类的地方一定可以用子类,但是子类不一定能替换父类;
  • 依赖倒置原则:依赖于上层不依赖于细节,举个例子:一个接口,可以有多个实现,但在程序设计的时候,我们使用接口和其他类对接,不使用具体的实现;里氏替换原则原则和依赖倒置原则往往是一同使用;
  • 接口隔离原则:要求接口尽量的小,接口的职责要单一,其实也是一种单一职责;
  • 迪米特法则:降低耦合,例如:类和类之间尽量使用组合的方式,不要用依赖;
  • 开闭原则:对扩展开放对修改关闭,不修改类而是扩展类;上面五个原则的核心是开闭原则,换种说法,23中设计模式的核心是开闭原则

2.6原则进阶

  • 单一职责原则:大约所有的设计模式都是遵循这个原则的,例如模板模式,一个模板是一个类;
  • 里氏替换原则:其实就是net的继承思想,我们常用的子类继承父类,就是里氏替换原则;但是注意一点,如果子类要覆盖父类的的方法,用override显示声明;
  • 依赖倒置原则:其实我们也经常使用,使用接口就是最标准的依赖倒置;
  • 接口隔离原则:思路很简单,但是非常考验设计功底.net的IList接口以及它继承的父接口非常具有学习价值;
  • 迪米特法则:降低耦合,这个思想应用在软件设计的各方面,要注意领悟
  • 开闭原则:这个是核心思路,比如工厂模式,新增一块业务,新增一个工厂即可,不对之前的逻辑有任何改动;

五、设计模式套路之3大类

23种设计模式看似很多,其实只有3大类.每一类的设计模式都都共同点,抓住共同点学习会非常容易

  1. 创建型设计模式:负责类的创建,对类的创建有特殊要求才会使用,如:要求全局唯一用单例模式,频繁新建类为了节约资源用原型模式,为了构建同类型的多个类用享元模式等等;
  2. 结构型设计模式:核心是封装,针对的是类层面的问题,在外层封装一个类;例如代理模式:有一个操作很复杂的类,在外层封装一个帮助类来执行复杂操作,外部直接使用帮助类;
  3. 行为型设计模式:核心是甩锅,针对类内部不稳定的地方,甩锅出去,不在当前类处理而是在调用当前类的类处理,基本是方法层面;例如观察者模式:对于不稳定的地方通过事件甩锅,外层调用赋予事件实际操作;

总结

设计模式是理论,理论到实际是一个漫长的过程,不要指望学完设计模式就立马突飞猛进,而是基于设计模式的角度分析程序的方方面面,只要持之以恒,总有一天你会豁然开朗

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值