软件设计模式的应用场合及最佳实践

3.0 闻远设计 2024-03-13 67 4 13.53KB 2 页 免费
侵权投诉
软件设计模式的应用场合及最佳实践
    摘要:通过对软件设计模式的介绍以及工作实践中几种常用的软件设计模式的研究,给出
了软件设计模式的应用场合及最佳实践,实践表明本文所阐述的单例模式与原型模式、策略者
方法和模板方法模式以及代理模式在三层 Web 应用开发中切实有效。;
    1 引言
自20 世纪 90 年代软件设计模式概念提出以来,一直受到广大软件开发者的青睐。软件设计模
式共分为了 3类23 种,每种设计模式都有其比较合适的应用场景。但是大多数设计模式并不
能得到发扬广大,得不到充分的利用。因此,为了更好地去宣传软件设计模式及让我们开发的
软件更加健壮和可靠,本文将结合自己的软件开发实践,试图探索软件设计模式的最佳实践。
    2 软件设计模式介绍
软件设计模式是一种为多数人知道的、能被反复使用的、并分类编目的代码设计经验的概括与
总结[1].使用软件设计模式可以让人更加容易理解代码、保证代码的可靠性以及程序的复用性
等。常见的软件设计模式有:创建型模式包括单例模式、原型模式、工厂方法模式、抽象工厂
模式和生成器模式;结构型模式包括适配器模式、组合模式、代理模式、桥接模式、装饰模
式、外观模式和享元模式;行为型模式包括策略模式、模板方法模式、职责链模式、备忘录模
式、命令模式、中介者模式、解释器模式、迭代器模式、状态模式、访问者模式和观察者模
式。在所有的软件设计模式中,只有工厂方法模式、适配器模式、解释器模式、模板方法模式
既有类模式也有对象模式,而其它的只有对象模式。
    3 软件设计模式应用的最佳实践
软件设计模式并不是短时间内就容易搞懂的知识,也不能说一个人会不是设计模式,因为设计
模式没有绝对的对与错,只有理解的深浅不同,实践应用的合适程度不同[2].本来软件设计模
式就是软件开发过程中的最佳实践之一,项目中合理地运用设计模式可以完美地解决很多问
题。因此,这里将结合自己的开发经验,探索软件设计模式应用的最佳实践。
3.1 结合使用单例模式与原型模式
单例模式是在这整个系统开发过程中保证一个类只要一个实例,并提供一个访问它的全局访问
点[3].而原型模式是用原型实例指定创建对象的实例,并且通过复制这个原型来创建新对象,
即通过克隆的方式来创建对象。在设计过程中单例模式因只有一个实例,可以节省系统空间,
但是因只有一个实例若在多线程并发情况下,可能会发生冲突。而原型模式,因需要时就会复
制一个对象出来,会增加系统开销,但在多线程并发时,不会发送冲突。因此,在项目实践
中,可以利用这两种设计模式优点,避免其缺点,达到一种较为完美的组合,形成一种最佳实
践。如几乎所有的系统都要对用户信息关键信息进行加密保护,为了提高代码的可重用性和可
维护性,可以采用单例模式对用户密码等信息提供保密支持。这样可以采用单例模式设计一个
对信息进行加密的工具类,为系统提供一个访问它的全局访问点,以提高效率和节省空间。还
有在业务逻辑层需要数据访问层某些对象的支持,这样很多地方都使用某个数据访问层的对
象,这时对于这样的对象可以采用原型模式,因为原型模式是用原型实例指定创建对象的实
例,并且通过复制这个原型来创建新对象,这样可以节省时间,而且效率也高。
3.2 合理使用策略者模式和模板方法模式
策略者模式定义一系列算法,并将每个算法封装起来,并让它们可以相互替换[4].也就是说策
略模式实际上就是分开算法的定义和使用,分开算法的行为和环境,专门定义一个抽象策略类
去声明算法,然后再定义具体的策略类去实现抽象策略类中的算法。这样我们使用具体的算法
时是针对抽象策略编程,而不是针对实现编程,符合依赖倒置原则。因此在数据访问层的

标签: #设计

摘要:

软件设计模式的应用场合及最佳实践  摘要:通过对软件设计模式的介绍以及工作实践中几种常用的软件设计模式的研究,给出了软件设计模式的应用场合及最佳实践,实践表明本文所阐述的单例模式与原型模式、策略者方法和模板方法模式以及代理模式在三层Web应用开发中切实有效。;  1 引言自20世纪90年代软件设计模式概念提出以来,一直受到广大软件开发者的青睐。软件设计模式共分为了3类23种,每种设计模式都有其比较合适的应用场景。但是大多数设计模式并不能得到发扬广大,得不到充分的利用。因此,为了更好地去宣传软件设计模式及让我们开发的软件更加健壮和可靠,本文将结合自己的软件开发实践,试图探索软件设计模式的最佳实践...

展开>> 收起<<
软件设计模式的应用场合及最佳实践.docx

共2页,预览1页

还剩页未读, 继续阅读

相关推荐

作者:闻远设计 分类:其它行业资料 价格:免费 属性:2 页 大小:13.53KB 格式:DOCX 时间:2024-03-13

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 2
客服
关注