zoukankan      html  css  js  c++  java
  • 对于开发中为什么很少用设计模式的思考

    • 本篇记录自己对设计模式的理解。
      在平时项目开发中,我们很少使用设计模式,设计模式的目的是提供可拓展性和可维护性,但是我们开发的项目本身,大部分都是固定写死的,逻辑单一,我们开发的模块也并不在其他的位置或项目中复用,目的很明确就是做当前的业务。所以,平时开发中用到设计模式的地方很少,但是框架就不同的了,框架必须适应不同的项目,具备高弹性和拓展性。他们要能适应各种不同的环境,所以,设计模式在框架设计中处处可见。比如,世界上成千上万的项目都在使用spring,shiro,hiberate,这些框架就需要满足不同的需求,使用不同的配置插件,定制化,他们不仅要适应你,还要适应它,各种策略模式,代理模式,责任链模式,状态模式。比如shiro中的一个token,有的项目要使用简单文本密码,有些项目使用数字证书,这里就必须使用策略模式,spring中的事务处理,因为它是框架,他根本不知道自己要放在那段service对象上,就要使用动态代理模式,动态的进行运行时实施代理,可以这么说,设计模式为拓展而生,你绝不会为了你们的项目需要去改spring的源码来适应你的项目需求,框架是如何适应成千上万的项目的。但是,我们的业务逻辑代码,平时开发项目的时候,功能是死的,是专为这个场景而生的,不会在另外的场景中出现,
      所以,这种代码开发,业务的开发,是不需要设计模式的。对于我们平时开发的项目,如果需求有变化,我们一般的做法,是直接修改源代码了,这样的其实带来了一定的修改成本,但是,为了一个项目中可能不明确的未来变化,而精心设计扩展性很高的架构,成本也是显而易见的,所以,这是一个取舍。
  • 相关阅读:
    web前端性能优化
    JavaScript事件类型
    十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
    JavaScript中的事件对象
    JavaScript中捕获/阻止捕获、冒泡/阻止冒泡
    探究JavaScript中的五种事件处理程序
    2D游戏中的碰撞检测:圆形与矩形碰撞检测(Javascrip版)
    碰撞检测算法:点和矩形碰撞、点和圆形碰撞、矩形碰撞、圆形碰撞
    如何停止requestAnimationFrame方法启动的动画
    Ajax方式上传文件
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860822.html
Copyright © 2011-2022 走看看