- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工作任务管理系统中软件模式应用
工作任务管理系统中软件模式应用
摘要:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。文中对MVC模式、单例模式和页面控制器的概念进行了探讨,并在工作任务管理系统进行了实现。
关键词:设计模式 MVC 单例模式 页面控制器
0 引言
软件项目开发的一个难点是用户需求的变化导致后期功能代码的扩展和维护,软件项目管理的一个难点是团队成员间的协作和沟通。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编写的、代码设计经验的总结。遵循设计模式的解决方案,有助于功能的扩展和代码的维护。设计模式是面向对象程序设计的精华,让对象和对象的关系清晰了起来,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式是按场景进行分类,便于团队间的沟通。本文以工作任务管理系统为例,讨论几种常用软件模式在信息管理系统开发中的应用。
1 设计模式分析
1.1 MVC模式 MVC是个将一个应用的实现分成三个组件角色的框架技术:模型,视图和控制器。①在基于MVC的应用里,Model(模型)是负责保持状态的应用组件。这个状态通常都持久于数据库之中(譬如,我们也许会有一个Product(产品)类用来代表SQL中的Products数据表中的订单数据)。②在基于MVC的应用里,View(视图)是负责显示用户界面的组件。这个UI通常是使用模型数据来创建的(譬如,我们也许会生成一个Product“编辑”视图,根据当前Product对象的状态,显示文本框,下拉框和复选框等)。③在基于MVC的应用里,Controller(控制器)是处理用户交互,操作模型和最终选择用哪个视图来显示UI的组件。在MVC应用中,视图只是用来显示信息而已,是控制器来处理和回应用户的输入和交互的。使用MVC方法的一个好处是,它有助于促进应用中模型,视图,控制器间的关注的清晰分离。保持关注的清晰分离使得对应用的测试极其容易,因为不同应用组件间的契约的定义和表达是更明确的。
1.2 页面控制器 使用页面控制器模式接受来自页面请求的输入、调用请求对模型执行的操作以及确定应用于结果页面的正确视图。分隔调度逻辑和所有视图相关代码。如果合适,创建用于所有页面控制器的公用基类,以避免代码重复并提高一致性和可测试性。页面控制器可接收页面请求、提取所有相关数据、调用对模型的所有更新以及向视图转发请求。而视图又将根据该模型检索要显示的数据。定义独立页面控制器将分隔模型与Web请求细节(例如会话管理,或使用查询字符串或隐藏表单域向页面传递参数)。
1.3 单例模式 单例模式的特点:①单例类只能有一个实例;②单例类必须自己创建自己的唯一实例;③单例类必须给所有其它对象提供这一实例。
Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接实例它。除此之外,该模式中包含一个静态私有成员变量instance与静态公有方法Instance()。Instance方法负责检验并实例化自己,然后存储在静态成员变量中,以确保只有一个实例被创建。
2 工作任务管理系统的设计模式应用
2.1 工作任务管理系统体系结构 工作任务管理系统的体系结构如图1所示,图中的箭头表明了信赖关系。在物理上,DAL是公共的数据访问入口层,BLL用来封闭业务实体对象,BIN是经过编译后的逻辑控制代码,Web文件夹下是按功能划分的视图文件。用户与《View》下的视图文件进行交互,控制数据的显示和接受用户的输入;《View》中的数据来源于《Controller》,《Controller》负责维护《View》的状态和数据的呈现,以及将《View》传递过来的数据对象化,并调用对象方法实现相应的业务逻辑获得数据;《Model》中包含实体的集合,对应于业务规则,是数据库表数据和数据增、删、改、查操作的抽象,实体以类的形式存在,业务以类方法的形式进行实现,《Model》从业务规则的层面处理数据,它是《Controller》数据的供应商。
工作任务管理系统中使用了MVC结构后,在开发时,项目组成员间职责明确,美工和网页设计师只需要关注《View》的设计和HTML实现;数据库设计人员只需要关心数据库的设计以及数据的转换规则;模型人员只需要从业务的角度关注业务规则的实现和从数据库到实现对象的转换工作;而程序只需要关注利用模型的业务规则控制处理《View》的数据显示和输入就可以了。这样做,非常有利于项
原创力文档


文档评论(0)