架构的价值
软件价值 | 描述 |
---|---|
行为价值 | 包括需求的实现,以及可用性保障(功能性bug,性能,稳定性)几乎占据了我们的90%的工作内容,支撑业务先赢是我们工程师的首要任务 |
架构价值 | 业务通常是不明确的,飞速发展的,这时架构就无比重要,让我们的software more soft,终极目标就是以最小的人力成本来满足构建和维护系统的需求 |
架构模型
三层架构
典型代表就是C#应用,编程工具已经将这三层隔离的十分清晰了,一般都在控件的事件里直接写控制逻辑
MVC
典型代表就是web应用,由控制器来掌控全局,根据用户的请求决定用哪个业务模型处理,处理后决定用哪个HTML展示给用户
领域驱动模型
领域层为核心业务,应用程序根据各应用场景提供适配器API,主要一个是应用接口层,主要是用于应用控制,另一个是数据访问层,用于数据获取和持久化。实现数据库与应用层的解耦(如DB可以随意切换),各适配器的模块测试
四层架构
用户展示层: 负责展示
应用服务层: 各个场景业务
领域层: 核心业务层,一些核心业务,提供给场景业务
基础设施层: 数据库的操作接口,中间件,一些通用控制代码,如链表操作接口,消息事件接口等
嵌入式软件架构
基础设施层:负责和硬件打交道的部分,如直接读写一些寄存器
基础API库控制层:将基础功能模块封装成一些API提供给上层调用,很多已经有现成的库可以用了,如socket
领域层:领域层,主要是一些为场景业务提供服务的一些“店铺”即核心业务
各场景业务:各场景业务,通过将自己的事情注册到领域层业务的队列里,让他们来为各应用场景业务服务