NET 应用架构指导 V2 学习笔记(五) 软件架构的模式和风格
2010-05-24 23:17 Virus-BeautyCode 阅读(2585) 评论(0) 编辑 收藏 举报n-tier/3-tier architecture style
n层/3层架构风格
n-tier和3-tier是一种描述架构部署风格的,用来将功能分为不同的部分,有点像分层架构模式,但是一个部分可以部署到不同的物理机器。
n-tier应用架构分解应用的功能,服务组件,分布式部署,提供改进的扩展性,可管理性。每一层都独立于其它层,除非他们是上下层关系。第n层只需要指导如何处理来自n+1层的请求,如何处理请求的结果。层之间的通信是典型的异步,可以支持更好的扩展性。
n-tier通常至少有三个分离的逻辑层,每一层分布在不同的物理服务器。每一层都具有特殊的功能。
n-tier和3-tier的典型应用是web应用,其他的安全特别重要。业务逻辑层要部署在防火墙的后面,表现层被部署在边缘服务器上。另外一个典型应用是富客户端应用,表现层部署在客户端机器上,业务层和数据访问层部署在一个或者多个服务器上。
n-tier和3-tier的好处包括:
- 可维护性。因为每一层都是独立的,更新和修改都不影响其他部分。
- 可伸缩型。因为层建立在部署的基础上,应用的缩放比例可以控制。
- 灵活性。因为每一层独立的管理,灵活性就增加了。
Object-oriented architecture style
面向对象架构风格
面向对象的架构是建立在分离职责之上的,将系统分为独立的、可重用的高效对象。例如包含数据和操作的对象。面向对象设计将系统看做是一系列相互协作对象。对象是分离的,独立的,松散耦合的。他们通过接口相互通信,通过调用其他对象的方法,或者访问属性,来发送和接收消息。面向对象的关键原则是:
- 抽象性。
- 组合性。对象可以通过其他对象进行组合,对其他对象隐藏内部实现,只是暴露接口。
- 继承性。
- 封装性。
- 多态性。
- 解耦性。
常用的面向对象风格包括定义对象模型,包括复杂的操作,定义代表真实世界的业务对象(例如客户和订单)。
面向对象的好处:
- 容易理解。和真实世界进行映射,使得它更容易理解。
- 可重用。通过多态和抽象提高可重用性。
- 测试性。通过封装提高了可测试性。
- 扩展性。
- 高内聚。
Service-oriented architecture style面向服务的架构风格
SOA的原则:
- 服务的原子性。
- 服务是可分布的。服务可以部署在网络的任何地方,本地或者是远程,只要网络支持必要的通信协议。
- 服务是松散耦合的。每一个服务都是独立的,可以在不破坏应用的情况下,进行替换和更新,只要不改变接口。
- 服务共享结构和契约,而不是类。服务在通信的时候共享契约和接口,而不是内部的类。
- 策略的一致性。
未完待续。。。。。。。。。。。。。。。。。。。
P37