PEAA_学习笔记_Layering

1.为什么要分层?

  a.分层可以使你将精力集中在某一层。比如FTP使用者和开发者不须要考虑物理层和数据链路层的细节。如果不分层,要学的就多了

  b.分了层,可以在保留服务接口的前提下更换实现的细节。

  c.分层可以将耦合限制在两层之间,不存在3-Players情形

  d.分层利于标准化,这样才能将不同厂商的零件组装在一起

  e.分层后,一个下层可以为多种上层使用,比如TCP可以为FTP用,也可以为HTTP用

2.注意Layer和Tier的区别。一般来说Layer基于逻辑的区分,而Tier基于物理上的区分。比如,我们有Presentation Layer, Domain Login Layer和Data Source Layer 三个Layer;在实际上只有两个Tier (可以译为“端”): 客户端和服务器

3.一般情况上可以将所有程序都放在服务端运行,客户端只用一个浏览器,这样最方便部署和升级;但是有时候也可以将部分程序放在客户端,这主要是出于响应速度和断线操作(responsiveness or disconnected operation)的考虑

附:Fowler的经典语录

a. One pretty absolute rule is that nothing should depend on the presentation

  

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.