- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
分层软件架构设计及其应用研究
?
?
李冶高源
摘要:分层软件架构设计是对软件功能予以细化的,实现软件解耦的设计思想,是现代软件设计过程中常用的软件设计思路。分层软件结构在系统的复用度、可扩展性以及开发难度的降低方面有着先天性的优势。该文以软件分层设计为核心题,介绍了其基本概念,从设计优势以及应用方式两个方面予以了简要讨论,为开发人员和软件系统设计人员在分层软件应用技术方面提供参考。
关键词:计算机;软件;分层;技术;架构;应用
:TP311:A:1009-3044(2017)13-0089-021分层软件架构设计介绍
分层软件架构设计是随着软件规模的扩大而逐渐产生的软件设计方面的技术,其核心内容是将软件结构中功能相同的部分集中起来完成特定的功能任务,而将功能差异较大的部分进行分离处理,从而是实现了软件结构的相对隔离,使得软件体系结构层次性更加清晰。在软件工程领域中所说“高内聚、低耦合”就是软件分层技术最为简单的描述,利用分层技术能够实现软件开发和维护的高度灵活性以及功能模块的复用度。在软件层次结构分层架构设计中,最为著名的就是人们所说的MVC模式,其中V是指VIEW视图层,主要是指软件的界面、用户接口,其实现方式既可以是客户端软件形式,还可以是以HTML为主要表现形式的浏览器形式,其核心功能是进行数据展示和对用户操作的接受、反馈;而M则是MODEL模型的意思,通过获得VIEW層用户数据或者提取持久化层数据构建相应的数据模型,服务于数据操作;而C则是指CONTROL控制层,将不同的业务逻辑予以控制,完成数据处理以及视图展现。当然,软件分层是根据项目的实际情况予进行划分的,应在层次划分的复杂度与开发维护成本方面予以综合考量。
2分层软件架构设计的优势分析
1)提升软件的复用度
软件各构建的复用程度是现代计算机软件工程利于研究的重要课题,传统的一体化设计,从视图展示、数据构建、业务处理、到数据持久化过程都在一个软件构建中予以完成,一旦需求发生了变更,软件维护所耗费的精力和修改复杂度是难以估量的,更别说软件的复用程度了。利用软件分层设计,将各个层次予以划分,数据展现层的变更和维护并不涉及到后续数据模型的构建、业务逻辑的处理、以及持久化部分,仅仅需要对相应的视图层予以变更即可完成,如果数据模型相同,后续的持久化模块以及业务逻辑模块便可实现高度软件复用功能,这是传统的一体式设计所不具备的软件架构模式。还有一些中间件的技术,对外提供相应的业务处理接口,只要实现相应接口构建交付于中间件即可实现相应业务的处理,达到了软件复用的效果。
2)降低软件开发难度
利用分层技术,可以将软件开发的各个模块予以划分,开发人员不必关注其他方面的内容,只需要将所涉及的功能模块予以设计、编码即可完成,有效地降低了软件开发难度,提升开发人员自信心,保障软件开发进度。除此之外,处在不同层次的开发设计人员,可以更加专注于其所涉及的层次,例如视图展现层,甚至可以利用美工人员进行开发;而数据库设计人员更关注于底层持久化的设计,从而实现了开发人员高度协调,降低整个软件项目的开发难度。利用传统的开发模式,这种优势是无法展现出来的。
3)提升了软件的扩展性
分层技术也为软件的可拓展性提供了天然的便利,要提升软件的扩展性无非是设计相应的接口功能,而软件分层架构正是这种接口设计的实现。下层结构为上层结构提供相应服务,下层结构同时提供相应服务接口,这与计算机网络结构ISO分层模型设计思想是极其一致的。因此利用软件分层架构的设计是极其容易实现整个系统拓展功能。这里需要指出的是,如果设计人员对接口加以统一性的设计,那么对于标准化的软件实现也是具有非常重要的意义。由此可见,利用好软件分层能够极大地提升软件的扩展性。
3软件分层结构的应用
3.1单项业务在软件开发中的应用
所谓的单项结构也就是最为传统客户端/服务器模式(这里所说的客户端既可以是专用的客户端软件,也可以是通用的浏览器),将用户业务处理、数据持久化直接在视图层完成,代码相对集中,这种数据处理方式对于用户量极少、服务器要求较低的业务开发是可行的,但是其维护工作量较大,软件的复用度以及系统的拓展性都是较差的。一旦用户数量变多,其系统的性能将变得极其低下,系统的稳定性也是急剧下降,总之,这种单项业务处理开发模式仅仅出现在最初的客户端/服务器交互模式使用过程中,系统的运行速度以及用户体现度相对较差。
3.2二、三层技术在计算机软件开发中的应用
为了克服单项数据模型的缺陷,二层技术应运而生,主要是将数据展现的视图层与系统结构予以分离,视图层更加清晰、便于设计,但是其性能与系统运行速度同样不容乐观,在此就不进行讨论了。
三层技术则是对二层技术进行进一步细分,后台系统结构划分为数据持久化层以及业务逻辑层,至此现代化的软
您可能关注的文档
- 2200万对9亿美中AI发展势头.docx
- 2024_2025学年高中化学第3章自然界中的元素测评含解析鲁科版必修1.docx
- 2024_2025学年新教材高中英语Unit6AtonewithnatureSectionⅣWrit.doc
- 2024_2025学年新教材高中物理第四章运动和力的关系习题课用牛顿运动定律解决几类问题课后提升训练含解析新人教版必修第一册.docx
- 2024_2025学年新教材高中英语Unit5Music单元检测含解析新人教版必修第二册.doc
- 2024秋高中历史第四单元工业文明冲击下的改革第12课俄国农奴制改革课时演练含解析岳麓版选修1.doc
- 2024_2025学年高中政治第三单元思想方法与创新意识第7课第1框世界是普遍联系的学案新人教版必修4.doc
- 2024_2025学年高中历史第五单元第17课国家出路的探索与列强侵略的加剧教案新人教版必修中外历史纲要上.docx
- 2024_2025学年新教材高中英语单元综合检测2含解析牛津译林版必修第二册.doc
- 2024_2025学年新教材高中语文第七单元单元素质升级检测含解析新人教版必修下册.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)