接触软件体系架构设计

Posted gogoagg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接触软件体系架构设计相关的知识,希望对你有一定的参考价值。

2008年进入CZ/XM,前后服务了近10年,非常感谢这家公司的包容和学习。

最初一个产品,是属于SNS社交类型网站,典型的三层架构,就职时,服务于项目的DAL数据访问层的开发。


 

在其后的移动端开发,采用MVC(模型-视图-控制器):

  • Model,模型层,用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。
  • View,视图层,用于数据显示以及交互,UI界面
  • Controller,控制层,将Model和View进行串联控制,管理数据模型以及视图的通讯。

其重点在于分离:

视图-数据模型的分离,相同的数据源对应多个不同的视图效果;在测试上体现为,视图可以有效地对数据模型进行模拟,不依赖其他外部组件,达到测试效果。

 

MVC优劣:

优点:耦合性低;重用性高;生命周期成本低;部署快;可维护性高;有利软件工程化管理。

缺点:没有明确的定义,设计起来相对复杂;不适合小型,中等规模的应用程序;增加系统结构和实现的复杂性;视图与控制器间的过于紧密的连接;视图对模型数据的低效率访问;

 

技术图片

 

 


MVC架构和三层架构上,各自的中心不一样,应用场景不一样。

个人认为:

三层架构是垂直性设计;

MVC架构,是一个环状或三角形设计,对设计模式的应用能力要求高些;常常在MVC应用中,独立建立一层business层,协助model和controller。


在MVC框架应用上,iosandroid都建立一套很easy的框架代码;微软也有系列,比如Asp.Net MVC;

在框架的选择实现上,有一定的优势。


 

以上是关于接触软件体系架构设计的主要内容,如果未能解决你的问题,请参考以下文章

接触软件体系架构设计

(软考笔记) ——系统架构设计师 - 软件架构设计笔记

(软考笔记) ——系统架构设计师 - 软件架构设计笔记

软考 系统架构设计师软件架构设计① 软件架构的概念

连载00:推荐:软件体系设计新方向:数学抽象设计模式系统架构与方案设计(简化版)(袁晓河著)

软件体系架构课下作业06