在软件开发中,从事架构设计的人员往往都很推崇三层或多层架构,使数据库、业务和界面分离开发,而对于底层的开发人员来说,又多对此有很多抱怨,一方面是因为其所处角度及阅历不同,另一方面的原因也是真多了多层开发体系的一些弱点而言。<wbr><p><wbr><wbr><wbr>就两方的矛盾而言,其实也可以考虑这换个思路来利用三层架构。</wbr></wbr></wbr></p>
<p><br><wbr><wbr><wbr> 首先,三层架构使界面层和业务层的编程人员不用考虑数据库的设置问题,而按照相应的需求自行开发,提高了多方协同工作的效率,从整体上加快了编程速度。</wbr></wbr></wbr></p>
<p><br><wbr><wbr> 但任何并行化带来的实际是总体工作量的增加,而不是减少,包括接口设计、架构设计,代码组织等,但为什么会提高进度呢,根本原因是更大限度的提高了每个人的开发效率。<br><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></p>
<p><wbr><wbr><wbr> 三层开发的另一个问题是软件的执行效率问题,直接写sql语句、连表查询、存储过程等的执行效率肯定比ORM要强,但是编程时为了可以实现调试往往显示功能第一,其次是效率。<br><wbr></wbr></wbr></wbr></wbr></p>
<p><wbr><wbr><wbr> 那么我们就换个角度考虑问题。人们都看过冰雕,做冰雕的并不是一次将一个大方冰砖雕成美女,而是先做个轮廓,然后逐一去做细节,三层架构是一个很好的轮廓实现方法。在功能实现后,是可以在数据层增加特定接口或改写接口的实现方式的,这样我们就可以既保证了项目开发效率,又提高了软件执行效率。</wbr></wbr></wbr></p>
<p><wbr></wbr></p>
<p><wbr><wbr> 在后期系统优化过程中,即使是面向过程编程,也需要通过分析各模块的执行速度来确定特定的优化方案,在此时引入特有的sql语句,并对数据层进行相应调整,也是非常合适的。从主要的优化工作看:</wbr></wbr></p>
<p>1. 运行速度优化: 提高系统运行的速度,一般运行速度慢的现象都是界面加载及更新慢,这里面原因有布局初始化、数据库存取、无效阻塞、软件BUG等很多因素。</p>
<p>2. 用户支持能力优化: 使系统可以支持更大的并发用户能力以及在更大规模的数据量情况保持系统速度, 此时我们往往采用异步处理、并行化、缓存系统等方式减少通信量、提高计算效率。</p>
<p></p>
<p>对于没有使用了分层开发的系统,在此过程的优化时,我们往往会因为在优化过程中担心方法调用的耦合性而放弃很多可以大幅度提醒性能的方式,而如果使用了分层开发,由于各组件中的耦合度相对较低,只需要进行组件内调整,不会对其他组件产生影响。</p>
<p>而对于数据库存取的优化,分层开发在此时的优化效率优势就更加明显, 因为面向过程开发时,不可避免会产生大量的重复功能SQL语句, 很难一次理清,而对于分层开发,可以使用统一的经优化的接口,一次优化直接对多个模块其作用。</p>
<p>在系统优化过程中,我们有时还会调整数据库的表结构, 这对面向过程开发往往会是灾难性的,因而会尽量避免,往往提高了优化难度,延长了时间,而分层开发可以以很小的代价就可以快速的实现相关优化。</p>
<p></p>
</wbr>
分享到:
相关推荐
软件架构设计分层模型和构图思考.docx
1、平台架构图,分层展示架构图:从访问层、前端UI、web层、业务层、数据存储等层次展示系统架构,设置权限控制与日志记录; 2、提供pdf版本和可线上编辑文件,若需要编辑,可根据readme操作,操作简单 3、压缩包中...
软件 分层体系 结软件 分层体系 结构 软件 分层体系构 软件 分层体系
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢? 在研究分层架构时,常通过...
介绍autosar软件架构,软件分层,软件功能模块划分,软件模块介绍,软件模块关系介绍,对于Autosar标准4.2.2
AUTOSAR v4.1.1 基础软件分层架构
深入.net平台的软件系统分层开发第一章
北大青鸟ACCP6.0深入.NET平台的软件系统分层开发2 课件代码答案
DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。
.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构.NET分层架构
• 互联网分层架构的本质,是数据的移动 • 互联网分层架构中,数据的传输格式(协议)与数据在各层次的形态很重要 • 互联网分层架构演进的核心原则与方法:封装与复用
ACCP7.0——深入.NET平台的软件系统分层开发PPT总结
分层架构下的单元测试,使用Mock的机制剥离依赖关系
系统开发的架构与分层一些知识点,基于Java的一个架构设计!
深入.NET平台的软件系统分层开发7 酒店管理系统、附带数据库
ACCP7.0S2深入.NET平台的软件系统分层开发全书上机练习_课后作业_答案
北大青鸟ACCP6.0深入.NET平台的软件系统分层开发6 第六章课件代码答案
不同于其它的架构方法,领域驱动设计DDD(DomainDrivenDesign)提出了从业务设计到代码实现一致性的要求,不再对分析模型和实现模型进行区分。也就是说从代码的结构中我们可以直接理解业务的设计,命名得当的话,非...
软件与服务外包学院由吉奈特工程小组负责开发该系统,小组成员经过详细的讨论和调研决定采取面向对象的分多层架构进行系统开发,采取SQl Server2008设计和管理数据库资源,采取VS实现分层架构和网络功能模块,开发...