博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式是什么
阅读量:4182 次
发布时间:2019-05-26

本文共 679 字,大约阅读时间需要 2 分钟。

最近看了大话设计模式,本篇简略的分享一下自己关于设计模式的思考,后面每种设计模式我都会出一篇博客,详细地介绍每一种设计模式的的定义、类图、应用场景、示例代码以及相近模式之间的联系和区别。

首先,我们所谈论的设计模式本质上是一种解决问题的思想,所以它不局限于特定的语言。无论选取哪种语言,无论选取哪种设计模式,目的都是为了去解决一种设计上的问题。

其次,我们现在所用的设计模式都是前人的经验总结、经过论证、反复被人使用。使用它的目的可以使代码逻辑更清晰和更容易被人理解,保证代码的可靠性,真正做到使编程工程化;使用它也能够软件更加灵活,模块之间的耦合度会降低,效率提升,开销会减少。

第三,本书主要使用Java介绍了23种设计模式,主要包括接口型模式、责任型模式、构造型模式、操作型模式和扩展型模式这几大类。

最后,我写一些我们在使用设计模式时需要注意的问题。

  1. 永远不要为了使用设计模式而使用,关键看你的业务需求是否有必要使用。如果业务很简单,再用它就是画蛇添足。
  2. 没有最好的设计模式,只有最合适的。选取设计模式时关键看业务看你的需求。
  3. 设计模式增加了软件维护的难度,特别是它增加了对象之间的关联的复杂度。
  4. 在遇到问题时,要站在人类考虑的角度和现实的角度去思考,我有什么需求?我的业务逻辑是什么?软件有什么样的功能?不要直觉地用计算机的思维去考虑,最忌讳的就是刚开始分析就考虑程序代码实现的细节。这样的想法往往只能满足当前的业务需求,程序很难做到容易维护、扩展和复用。

真正面向对象的编程 = 面向对象的分析 + 面向对象的设计 + 面向对象的开发。


下一篇:

转载地址:http://blrai.baihongyu.com/

你可能感兴趣的文章
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>
关于vue-router2.0的学习笔记
查看>>
vue1.0与2.0区别之生命周期
查看>>
vue2.0之非父子组件通信
查看>>
如何建立svn版本库并运行它
查看>>
如何合并svn分支到主干上
查看>>
libusb源码学习:list_entry
查看>>
libusb源码学习:几个函数加载的宏(windows)
查看>>
MCU_如何通过硬件VID 查找生产厂家
查看>>
NCNN部署例程 mxnet-gluoncv之simple_pose
查看>>
Ubuntu18.04查看显卡信息并安装NVDIA显卡驱动driver + Cuda + Cudnn
查看>>
电子元件二极管封装SMA,SMB,SMC的区别
查看>>
利用FFmpeg玩转Android视频录制与压缩(二)
查看>>
eclipse下生成Java类图和时序图,生成UML图
查看>>
M文件程序设计(matlab)
查看>>
matlab基础知识
查看>>
程序员的职业素养
查看>>
一道面试题深入了解java底层
查看>>
java下载附件
查看>>