2.n-tier(层)架构实例 马克-to-win:我们把上节的例1.2.1改成一个n-tier的例子。虽然例子很粗糙,但说明理论n-tier理论足够了。
n-tier(层)架构 马克-to-win:在 软件公司工作的一个常态就是需求经常变动。这是迭代开发的一个主要特征。为了节约成本和生存问题,软件公司一般都采取迭代开发的模式。 结论就是必须要用n-tier(层)模式开发。这样我就可以把分工分得很细。需要改动时,可以一步到位,找到需要改动的地 方,而且还可以非常快。刚才其实提了一点n-tier架构,把model细化分成了几层。 马克-to-win:n-tier架构到底多少层?要根据实际情况而定,所以叫n层架构,而不是8层架构或9层架构。其实我介绍的,一般的情况基本够使了。
Silverlight 如此重要,最主要的原因在于,Silverlight 是一种客户端执行的环境,它无法如同 ASP.NET一样,直接与后端数据源进行沟通,数据存读取和保存全都必须跨越网络,我们就必须使用N-tier 如果你对WCF RIA Service感兴趣可以参考以下资源: WCF RIA Services Code Gallery WCF RIA Services Building N-Tier business applications with .NET RIA Services – Part I Building N-Tier business applications with WCF RIA Services
common architecture types in information systems: Client-Server Web Application Smart Client (aka N-Tier The thing that separates true N-Tier development (like smart clients) from the previous architectural Figure 5 shows an architecture designed for N-Tier distributed deployment. ?
马克-to-win:一 个数据库中的表对应一个PO(Persistant Object),这好理解。在Web层的网页,当用户提交表单数据以后,在Controller层,把表单数据放在VO(View Object有人也叫Value Object) 当中,接着调用Service层。VO相对于网页表单数据,也许对应n个PO,而且和PO数据格式也许不一样。马克-to-win:(表单2012/1/1而数据库中是 2012-1-1)。Service层原始接受的数据是VO,但在这里,Service层把它变成DTO(Data Transfer Object)。DTO不用于VO,不但因为二者功能不同,(DTO用于专门的层间传输,VO用于持有表单数据)而且DTO也许有很多VO里没有的数据, 比如Service层的方法现场产生的加密密码,各种加密的标志,收到的短信验证码等。马克-to-win:Service层接着调用BO,BO调用DO,(这个过程 应该是涉及的业务范围越来越小,越来越具体,就像中央委托给东北局,东北局再委托给辽宁省,处理某个事一样),DTO在这个过程中承载的数据量也必然越来 越小。马克-to-win:既然有可能Service层和BO层或DO层不在同一台电脑上,为了节约网络带宽并提高系统性能,我们可以推出若干BoDto和DoDto的概念, 使它仅封装BO和DO需要的数据,当然采用BoDto和DoDto系统,会有越来越多的各种DTO,所以我们实际中宁愿使用粗粒DTO(即包含比需要多的 属性),而不是重新编写一堆新的各种各样的DTO,前提是只要冗余数据不是太多。马克-to-win:在代码量代码复杂度和系统性能之间做取舍是我们工程师永恒的话题。技术教 会大家,大家起码可以有做选择的机会。当DTO进入到DO层以后,经过DO的复杂处理后,当需要被传给Dao层,压入数据库之前一瞬间,就需要被变成PO 了。Dao层就相对简单了。
记得数据库课程的学习中,有提到大型数据库访问的 多层模型(N-tier),目的就是更高效地处理数据。那我们的文件型数据库有没有可能拥有 N-tier 的思想?
3)缓存层如何设计 马克-to-win:我们前面讲过 了n-tier架构。在我们的程序当中,还可以设计一个缓存层。
ericgolpe/archive/2011/09/12/sync-framework-now-open-source.aspx Database Sync:SQL Server and SQL Express N-Tier
N-Tier Architecture Example 在2000年中期,N-tier架构师那时最流行的。那时候开发的都是基于关系数据库增删改查的单体代码。
作者在开发这个框架之前在codeproject上写了一篇文章Architecture Guide: ASP.NET MVC Framework + N-tier + Entity Framework and
体现在我们的软件架构第二定律中:为什么比怎么做更重要(Why is more important than how) 分层架构 (Layered Architecture) 它是最通用的架构,也被叫做N层架构模式(n-tier
recognized architectural patterns and styles, among them: Blackboard Client-server (2-tier, 3-tier, n-tier
Model-view-controller pattern) 9.黑板式架构(Blackboard pattern) 10.解释器式架构(Interpreter pattern) 1.分层式架构 这种模式也称为n层(n-tier
名称空间 Non-clustered Index,非聚集索引 node,节点 normalize,规格化 notification,通知 notification hub,通知中心 N-Tier
For example, consider the N-Tier system in Figure 8-7. Figure 8-7. N-Tier system However, since each component can be deployed and managed independent of the rest, these
分层模式是最通用的架构,也被叫做N层架构模式(n-tier architecture pattern).这也是Java EE应用经常采用的标准模式.基本上都知道它.这种架构模式非常适合传统的IT通信和组织结构
Over the next couple in a series of articles, I'd like to demonstrate some n-tier frameworks utilizing
本书前面还有六个小节介绍了单体架构风格、n-Tier架构风格、SOA架构风格、微服务架构风格、分布式架构风格、云原生架构风格、开放API生态架构风格,这些在本文中暂且跳过,直接跳到生成式AI架构风格。
二、 上下文的共享及跨域传递 在进行基于N-Tier的应用开发中,我们往往需要在多个层次之间共享一些上下文(Context)信息,比如当前用户的Profile信息;在进行远程服务调用时,也经常需要进行上下文信息的跨域传递
三层/多层架构(N-tier Architecture)时间:20世纪90年代末至今特点:引入了表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层