English 中文(简体)
您能否建立有利的商业逻辑?
原标题:Can you build a RESTful Business Logic Layer?

我为我的结构中的“数据存取”建立了一项技术服务:

POST http://example.com/data/User
GET|PUT|DELETE http://example.com/data/User/{UserId}

然而,对于商业界(BLL)而言,使用了第二个非致命性服务:

POST http://example.com/accountapi/register
POST http://example.com/accountapi/login

该图书馆不是向巴勒斯坦民族权力机构打电话,而是直接与数据库会谈。

你们如何改进这一结构?

  1. Should the BLL service call the DAL service ?
  2. Should I drop the DAL service and only expose the BLL service ?
  3. Should I, somehow, inject business logic on my RESTful DAL service ? If yes, how ?
最佳回答

(1) 避免你(非REST)的网络服务业务逻辑层使吉大港山区向数据接入层提出进一步(可恢复的)要求。 当然,这样做比直接使用方法要低效率。 但更重要的是,这将要求你在单独的网络服务器(或单独分组)上部署LLL网络服务和DAL网络服务。 否则,你会遇到以下情况:all<>m> > 和> 您的吉大港山区工人的read子们忙地试图服用LLL的对策,而他们都无果腹地等待着吉大港山区工人自由为他们服务。 这可能会导致停滞不前(如果你不做时间处理/重新处理),或彻底陷入僵局(如果你不这样做)。

如果贵国的网络服务客户需要业务逻辑和数据获取,则提供一套统一的服务。 在内部,两者都依赖相同的数据接入层方法:数据导向的网络服务实施只需要一个数据接入层,而业务逻辑导向的网络服务实施可能会使许多数字空间信号。 你们当然要把LL和DAL两层分开放在网络服务层下。

我想,网络服务只是面向“用户”的介绍层的一部分,而“用户”可能是其他方案。

问题回答

回答主要问题。 不是。 回答次要问题。 无。

REST的建筑不适于标准3级模式。 三级模式的简单化看法类似:

Presentation Layer <-> Business Logic Layer <-> Data Layer

考虑暂时将介绍层分为两个部分,

Rendering Layer <-> User Interface Content <-> BLL <-> DAL

如果你想到定期的网络应用,浏览器就使用超文本、CSS和Javascript内容,并视而不见浏览器。 采用REST制约因素的是用户界面层。 如果你想到超级媒体的制约因素,这是最明显的。 REST接口与用户接口一样使用。 REST接口恢复presentations of resources。

REST接口应当归还用户接口内容,而该接口与用户接口的展示方式无关。

REST 用户与带;-> REST Interface <-> BL <-> DAL

在我看来,REST客户有两种形式,要么是媒体类型非常薄弱的发动机(如网络浏览器),要么是筛选报废器(间谍机、仪表)。 我使用“屏幕报废器”这一术语很松散,因为如果你明智地选择你的媒体类型,那么客户就应当把数据从用户接口内容中删除。

任何试图暴露商业界的逻辑界作为科学知识与技术的界面,通常都会产生一些影响。 研究人员最后询问如何在教育、科学和技术领域进行交易。 他们最终在客户和利比里亚银行的接口之间造成大量汇合,因为需要揭露有色的丰富代表性。 他们忘记了有关超级媒体制约因素的一切,因为在商业逻辑层面无法提供这种联系的信息。 他们开始抱怨吉大港山区的运行费用以及基于案文的内容类型。

  1. 如果是同一申请,那么你或许应该把法语区划为代语言,而不是再次使用服务电话。 这将使《守则》的基本宗旨相互分离(高度凝聚力),从而保持其更积极的业绩。

  2. 或许如此。 您的服务一般应当是能够履行业务职能的课程部分。 在该数据库中向用户提供固定业务功能,具体实施。 登记册的职能是将这一概念归纳为业务职能。 然后,LL层可以强制执行密码强度、密码加密、用户名的独特性等与数据存取直接相关的内容。

  3. 不可原谅。 见第2号。





相关问题
SQL Server - How many users do I *really* need?

I m setting up an application, and I m looking into purchasing a license for SQL Server. My question is pretty simple (though may have a complicated answer...) How many users accounts do I really ...

Object Graph / Persistence Question

I m currently working with an online application that requires multiple screens/steps in order to complete. The application domain is modeled using an object graph. Persistence to and from a database ...

Why does stack get truncated in Exception.StackTrace?

Why does the high part of the stack (in Exception.StackTrace) gets truncated? Let s see a simple example: public void ExternalMethod() { InternalMethod(); } public void InternalMethod() { try ...

ASP.NET MVC and Service Oriented Architecture

I would like to know how do i incorporate a feature like wcf within and MVC application. My current idea of the architecture is as follows: EntityFramework -> ASP.NET MVC (Views) ...