摘要:
分层是用来分割复杂软件系统的最常用手段之一。如:操作系统建立在设备驱动和CPU指令上;FTP建立在TCP层之上,TCP建立在IP层上,IP建立在以太网上。
把分层结构想像成蛋糕,每一层都建立在它下一层上。意味着上层使用下层的服务,但是对更底层的服务一无所知。如,第四层使用第三层定义的服务,第三层使用第二层的服务,但是第四层并不了解第二层的服务。
分层的优势:
可以单独了解一层的东西,而不用管其他层
可以替换某一层的实现
最小化层之间的依赖
为建立标准做好准备
一个低层可以被很多高层使用(提高复用率)
分层的劣势:
分层对部分东西,而不是全部东西,有一个良好的封装。有时会引起连锁的更改,如,为了在用户界面上多显示一个属性,必须更改从数据库到UI之间的所有层。
额外的层会降低性能
阅读全文