分层与分模块开发,是开发时经常选用的两种方式,应该说分模块开发是较多被采用的方式,但一直以来都觉得其实分层方式自己是比较欣赏的方式,对于两种开发方式分别的看法是:
分层开发优点:
1、保持系统分层结构
分层开发在这点上无疑是可以保证的,同时有利于保证系统层次的职责的清晰以及分离。
2、面向接口的编程
由于采用分层开发,各层次之间采用接口依赖的方式就更容易被执行了。
缺点:
1、容易造成瓶颈现象
由于分层开发各个承担人员的任务难度不一样,很容易形成瓶颈现象。
2、对于系统设计的要求更高
这点应该说不能算是缺点。
3、容易出现扯皮现象
分模块开发优点:
1、系统功能更容易被完成
由于采用分模块开发,开发人员从头到尾负责,一定程度上来讲减少了沟通以及协调成本,使得系统功能能够被更容易的完成。
缺点:
1、容易造成系统的分层结构缺失
通常在项目实际的赶工情况下,很容易形成系统的分层结构缺失的情况,开发人员为了完成功能完全不顾分层,不顾层次职责的分离的保证,这点在实际的项目中往往不是那么好控制。
2、面向接口编程的贯彻不力
这点也通常是由于上面的原因,当然,其实这里面最根本的原因是开发人员本身的素质不够高....
在开发人员水平参差不齐的情况下,我认为分层开发方式更有利于保证系统的质量,尽管在具体实施的时候可能会碰到一些问题,希望能听听采用过分层开发方式的朋友们的看法。
分享到:
相关推荐
使用mindmaster打开
软件与服务外包学院由吉奈特工程小组负责开发该系统,小组成员经过详细的讨论和调研决定采取面向对象的分多层架构进行系统开发,采取SQl Server2008设计和管理数据库资源,采取VS实现分层架构和网络功能模块,开发...
健雄职业技术学院在开发毕业设计管理系统过程中,项目组首先要完成的任务是设计系统的开发方案和系统功能,第一章采取的是分层技术架构系统框架,分层架构系统在.NET中开发方案需要我们进一步确定和明确,根据调研要...
PhpTagLib, Action等等, 这些技术能开发者更好的开发出强大的分层设计构架. 集成有单元测试/对象模仿功能, 还有依赖注入构架, 更好的支持敏捷开发. 框架多处参考了JAVA中的技术, 并对这些技术更一步发挥. 框架...
论文研究-云计算环境下的多路数据流分层模块化建模与设计.pdf, 提出多路数据流计算模型和对云计算物理系统的分层模块化建模方法. 云计算物理系统包含大量相连的嵌入式...
很好dotNetdotNetdotNetdotNet
采用 MVC 设计模式,分层开发。主要分为: entity:存放定义的 java 实体类; Mapper 层:用于定义 Mapper 接口和 xml 文件,实现对 数据库的操作; Service 层:通过调用 Mapper 层中的接口实现具体的业 务逻辑; ...
</modules> packaging节点只能指定为pom,modules节点说明由几个模块组合,上面是把我们经常使用的架构分层模式分成一个个组件进行开发dao->service->web层。此pom文档经常还被用来进行一些依赖管理和插件管理,...
基于XCP-on-Ethernet传输层,采用模块化和分层的软件设计方法,设计并开发了电控单元的通信模 块,将通信模块分成标定协议和Ethernet驱动2部分,从而保证了通信模块软件在多平台上的移植,且通信模 块也更具通用性...
将ssh工程拆分为多个模块开发。一个父工程maven project(pom),然后在创建四个子模块(maven moudule),其中四个子模块,分别为 domain、dao、service、web,也就是将四层的内容分别独立为一个项目,进一步将耦合性...
本书对visual c++数据库通用模块及典型系统开发进行了详细的介绍,全书共分为3个部分。第一部分介绍软件设计中的基础知识和需要注意的问题,包括分层、数据访问层和ado技术。第二部分是典型模块的设计和实现,典型...
本书对visual c++数据库通用模块及典型系统开发进行了详细的介绍,全书共分为3个部分。第一部分介绍软件设计中的基础知识和需要注意的问题,包括分层、数据访问层和ado技术。第二部分是典型模块的设计和实现,典型...
本书对visual c++数据库通用模块及典型系统开发进行了详细的介绍,全书共分为3个部分。第一部分介绍软件设计中的基础知识和需要注意的问题,包括分层、数据访问层和ado技术。第二部分是典型模块的设计和实现,典型...
* 特有的 [HMVC](./manual/guide/zh-cn/hmvc.md) (分层MVC设计)和多项目支持,开发更灵活;* 支持时下最流行的PHP包管理器 [Composer](http//www.phprpc.org/);* 独创5模式运行设计:普通控制器、后台、命令行、...
hloc-分层本地化工具箱这是hloc,这是用于最新6 DoF视觉本地化的模块化工具箱。 它实现了分层本地化,利用图像检索和特征匹配,并且快速,准确和可扩展。 该代码库与我们的用于特征匹配的图形神经网络SuperGlue相...
为了在开发分布式系统的过程中帮助设计者优化和验证系统,提出一种基于层次结构图形化描述方法,利用精确的数学模型描述其分布与并发行为:嵌入离散事件(DE)模型的有限自动机模型(FSM)描述软件模块内各进程间的...
Ankreo建立支持Ankreo产品的NMEA 2000模块开发的系统。构建系统包括:一个PlatformIO项目build/ ,用作所有固件开发的编译环境;用于组织资产的分层目录结构;以及一组通过处理资产来配置构建环境的工具。有关...
模块化分层的编写方式还有助于实现代码的并行开发,提高开发效率,使得整个项目更加易于管理和维护。 基于之前的按键点灯的程序进行修改,我将为您详细阐述如何使用STM32F407的HAL库,并结合STM32CubeMX配置工具,...
模块化分层的编写方式还有助于实现代码的并行开发,提高开发效率,使得整个项目更加易于管理和维护。 我将为您详细阐述如何使用STM32F407的HAL库,并结合STM32CubeMX配置工具,通过轮询方式实现PF9和PF10引脚LED灯...
在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可...