首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3层体系结构与2层体系结构

3层体系结构与2层体系结构
EN

Stack Overflow用户
提问于 2009-10-25 15:40:53
回答 4查看 15.6K关注 0票数 12

我们真正需要3层体系结构的例子是什么?大多数使用3层体系结构的应用程序可以使用2层体系结构完成吗?

注意:我正在尝试看到3层体系结构的价值,我觉得现在有3层的应用程序可以在2层中完成,所以我正在寻找我们绝对需要3层的例子,而且这种需求也不例外。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-25 15:51:19

我猜您指的是分层(逻辑分离单元),而不是分层(物理分离/部署单元)。分层系统的一个例子是提供网页(另一层)的web服务器(1层),它利用来自数据库(第3层)的数据。

分层架构的通常目标是分离责任。这有两个关键好处(除其他外)。

首先,您的设计将更加清晰,因为责任不会被混淆,因此代码将更容易阅读、理解和维护。

其次,你有可能减少重复--例如,在一个web应用程序中,如果你的页面也在处理业务逻辑(或者恐怖的数据访问)以及显示页面,那么你可以相当肯定的是,多个页面将尝试做相同或类似的事情。

您不需要来架构任何软件(例如,分层,尽管有其他方式),但是对于任何除了琐碎的事情之外的任何东西,如果不这样做,结果将是一个无法维护的烂摊子。

票数 7
EN

Stack Overflow用户

发布于 2009-10-25 16:06:46

FinnNk的道具,但让我举一个例子,说明当您不分离您的层时会发生什么。多年来,我一直致力于一个在出生时就被严重分离的项目。如果您相信tuinstoel所说的,那么这三个层次--更多的层--都集中在单独的JSP页面中。我相信这在当时似乎是一件聪明的事情(刚开始的时候编写代码更快),但是这种怪物已经增长了,没有人花时间去重构。

现在我们有了2000+ JSP页面,重复的代码散落在各处。进行模式更改需要仔细的回溯,以确定哪些页面可能受到影响,并对每个页面进行单独的测试。管理层没有人认为花时间解决这个问题是很重要的--短期收益,长期亏损。

做。不。去。这。路由。

将层分离导致更好、更快、更可测试、更模块化的代码。你会为此感谢你自己,(更重要的是)你身后的人也会为此感谢你。

票数 3
EN

Stack Overflow用户

发布于 2010-08-31 03:46:11

一些数据库向外界公开rest接口,例如NoSQL数据库CouchDB和RavenDB。这意味着运行在浏览器中的Javascript可以在没有中间层的情况下调用数据库。

参见例如:http://www.infoq.com/news/2010/06/couchdb

“行为良好的HTTP接口和applications两层应用程序(浏览器中的html+javascript+ couch+javascript作为服务器)”

Oracle内部有一个web服务器,您可以使用存储的procs向外部公开rest接口。因此,浏览器中的JavaScript也可以调用Oracle数据库,而不需要中间层。

当您只想从数据库中获取一些数据时,总是需要中间层吗?我对此表示怀疑。

(TTT,前称Tuinstoel)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1621206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档