设计模式是一个指导,并不强制。有很多地方并不需要设计模式介入,因为设计模式是分离变化,很多代码是一次性的,不会变。如果我们一开始写程序的时候就加入设计模式,这样就显得过度设计,既耗时又费力。

并且设计模式大多数会增加代码量,不必要的设计又有了一个额外的弊端。

设计模式并不能解决所有的问题,都是解决特定的问题而出现的模式。所以你遇到的有些问题发现并不能应用设计模式解决这种情况很正常。

设计模式是基于你想要解决的问题存在的,没有根据具体的问题去思考模式没有啥意义。

设计模式主要是为了分离变化,分装变化的部分隔离不变的部分,做到变化的部分变化的时候不会影响到不变的。 这就是对修改封闭,对扩展开放。可以看出来我们首先需要找出我们代码中或者说业务中不变的部分和需要改变的部分。然后再决定使用什么样的设计模式。

并不是所有的变都可以分装,所有的不变都可以隔离,也需要分装和隔离。

关于设计模式的胡思乱想相关推荐

  1. (转载)设计模式之-策略模式(Strategy)

    原文:http://blog.sina.com.cn/s/blog_48df74430100t2m7.html 前言 部门组织培训,<Effective Java>,每人每天给大家讲解一节 ...

  2. 设计模式之禅【代理模式】

    真刀实枪之代理模式 我是游戏至尊 "最近几年王者荣耀的热度飙升,自己打时可以体验到其中的升级乐趣,但是时间过得很快啊!自己不想打,找代练,好主意!" 作为一名程序员,先将打游戏这段 ...

  3. 每天学习一个设计模式(七):结构型之代理模式

    目录 一.基本概念 二.通俗解释 三.代理模式的分类 1.普通代理 2.强制代理 代理是有个性的 3.动态代理 一.基本概念 代理模式(Proxy Pattern)是一个使用率非常高的模式,其定义如下 ...

  4. 设计模式-中介者Mediator深思(对象/模块/进程通信)

    概述 记得初识设计模式时,有本书称她们都是选美比赛的漂亮妞,Here,借用下其中的语调,近来,被"其貌不扬"的中介者小姐的魅力深深吸引,我们来谈点别的.早些时候读GOF设计模式,就 ...

  5. 【Design pattern】设计模式思路总结(一)

    看了一周的设计模式,跟着小菜的思路走! 从简单工厂过渡策略,后面看的这几个模式都是在单一职责,开放--封闭原则,依赖倒转原则下不断的改进,采用模式写出的代码更容易扩展,维护! 比较容易懂. 装饰模式: ...

  6. GOF23设计模式(结构型模式)代理模式~

    代理模式应用场景十分广泛,随便一个框架都会用到,因此学好代理模式对后续框架学习是最基本的要素!!今天我们就来讲讲代理模式! 目录 1.简介 1. 核心作用 2. 角色分析 2. 应用场景 4. 分类 ...

  7. GOF23设计模式(创建型模式)工厂模式

    目录: 一:工厂模式的核心本质 二:关于面向对象的六大基本原则 三:工厂模式的三大类详解(代码示例,详细分析) 首先,上咱本GOF23所有工厂模式的分类表格!!! 创建型模式 单例模式.工厂模式.抽象 ...

  8. GOF23设计模式(创建型模式)单例模式

    目录: 一:单例模式的核心作用.常见应用场景 二:五种单例模式及其实现 三:关于反射和反序列化破解单例模式的漏洞,以及相应的解决方案 四:测试五种单例模式的效率 一:核心作用及常见应用场景: 核心作用 ...

  9. Python七大原则,24种设计模式

    七大设计原则: 1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责.  2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE ...

最新文章

  1. Linux防止SSH暴力破解
  2. 你想要的生物信息知识全在这——生信宝典文章目录
  3. 20180625笔记
  4. 【FFmpeg】FFmpeg 帮助文档使用
  5. if you can not make a solid foundation
  6. [收藏转载]C# GDI+ 简单绘图(一)
  7. DMA讲解《一》(清华大学)
  8. Kubernetes 部署 Mysql 8.0 数据库(单节点)
  9. Unity 着色过程
  10. 【tyvj】【dp】回文词(IOI2000)
  11. 因为梦想 书送远方 《数据化运营》免费领取
  12. 记录下我磕磕碰碰的三个月找工作经历,BAT大厂面试总结
  13. 联想拯救者Y9000P安装ubuntu22.04和安装anaconda教程
  14. QComboBox下拉框样式
  15. 电脑使用过程中“xx指令引用的xx内存。该内存不能为written或read”的解决方案!
  16. 简单说一下MSDOS分区的几个要点
  17. 电脑连不上网,显示网络连接配置异常
  18. 2-2 第17次课 高项之人力资源管理
  19. 基于ssm技术的校自助阅览室的设计与实现毕业设计源码242326
  20. 痞子衡嵌入式:ARM Cortex-M内核那些事(6)- 系统堆栈机制

热门文章

  1. python的实验报告怎么写_学号:20191221,《python实验设计》实验报告三
  2. 对KVM虚拟机进行cpu pinning配置的方法
  3. [Swift]LeetCode39. 组合总和 | Combination Sum
  4. chrome 浏览器全屏操作
  5. app store 关键词
  6. android-DNS服务找不到
  7. JQuery------鼠标双击时,不选中div里面的文字
  8. 【BZOJ1002】[FJOI2007]轮状病毒 递推+高精度
  9. 将数据流链接到加密转换的流CryptoStream 类
  10. 面试中的常见14种算法套路