这是一系列讨论 Silverlight 网站 N-Tier 设计概念文章的第一篇,后续文章完成将陆续贴上来。
考虑效能因素,同时为了扩充与维护的弹性,网站在设计的时候,通常会透过 N-Tier 设计以分层的方式建立网站架构。最普遍的 N-Tier 设计是分成三层,列举如下:
“展现层”负责提供视觉化 UI ,而“商业逻辑层”则提供应用程序专属的逻辑运算,最后的“资料层”则是包含底层资料来源与相关的资料存取功能。在实务设计上,还可以更进一步的细分,不过还是以此三层为原则。
我们曾经出版的“ASP.NET商业级数据库网站开发实务”一书,针对如何将分层技术运用在 ASP.NET 网站的开发上作了完整的说明。几年过去,Silverlight 已经来到了 4.0 ,原来以 HTML 为基础的网页展现层,现在则以 Silverlight 来取代,提供更先进的视觉化操作界面,当然,这意味着我们必需付出更多代价。
在纯粹以 ASP.NET 开发的时代(其实还是不久之前),所谓的分层,是透过各种实作的类别来封装所需的功能,再将这些类别分类归纳至不同的实体层,不过现在有了改变,由于 Silverlight 本身与 ASP.NET 是独立运作的技术,因此必须导入其它技术将这两者进一步与底层数据库作整合,例如 EF 与 RIA Services 等等,这导致分层的实作更为复杂,尽管网站架构的分层原则不变。
当你开始将 Silverlight 技术运用在网站开发,会面临如何在不同的层次运用适当的技术,因此我们接下来会谈谈,建立同时整合 Silverlight 与 ASP.NET 技术的网站时,相关技术所扮演的角色。