> 文档中心 > 设计模式.怎么学设计模式 原则

设计模式.怎么学设计模式 原则


定义

    在某些场景下,针对某类问题的某种通用的解决方案
    设计模式 区别于架构模式和惯例
             - 架构模式 是软件的架构风格,架构维度
             - 设计模式 是软件设计中的问题的通用解决方案,设计维度
             - 惯例 是 特定语言中 代码的使用技巧,编码维度

原则

开闭原则
        对扩展开放,对修改关闭
单一职责原则
        一事一地
里氏替换原则
        子类可以替代父类
        重写会破坏这个原则
依赖倒转原则
        面向接口编程,依赖于抽象而不依赖于具体
接口隔离原则
        使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好
迪米特法则(最少知道原则)
        一个对象对其他对象尽可能少了解
组合重用原则
        组合优先于继承

分类

        创建型
        结构型
        行为性
        其他

为啥要学设计模式

1. 理解源码: 设计模式是一个特定场景的最佳设计实践, 在一个框架中会遇到比较多设计模式应用,比如你看到***Factory就知道是用来创建来的工厂类,***Builder就知道这是建造者模式,是担心你new对象后不设置某些属性,就回收了构造方法。

2. 交流: 这就要求你在应用设计模式的时候需要按照规范的命名,否则别人会看不懂。软件不是你一个人的事,代码可能性应该是放在首位的,当然有些自以为是的人并不理睬。

3. 学习编码方法: 设计模式学习的时候一板一眼,但真正编码的时候谁会拿着兵法打仗,拿着菜谱做饭呢。慢慢的都会融于你的编码习惯,比如上面的法则是抽象,解耦,团队协作方面应该遵循的原则,习惯。习惯了靠右边走路,马路上也就没人被法则了,当有人直接问你马路走路原则的时候估计也会懵逼一会,这还有啥原则啊

4. 面试八股文: 中级,有的高级也会问的题。这类问题没啥技术含量,就是知道和不知道区别。

怎么学设计模式

1. 记住名称

2. 解决问题的痛点

3. 解决后有什么好处

4. 相似设计模式类比

5. 设计项目中记录一段代码,这样更有血有肉

设计模式框架

 


不得不说搞端产品的开发,比搞web的更倾心设计模式。原因很简单了,代码都在一块堆着你再不好好“码码垛”就没法看了,也没法分团队各自做各自的事情了。而WEB则是,尤其是微服务化后,大量的精力都解决分布式,微服务,以及WEB各种容器,系统,中间件带了的问题了,单个微服务里边及时乱一点也不会有太多代码。

31戒烟网