angular 服务中的业务规则?
Business rules in angular services?
我会在我的 Angular service
上申请 Business rules
。
这个只显示今天创建的新闻。
我像 Array<News>
.
一样解析了我的调用响应
我的问题是:
我可以直接在我的服务中应用我的业务规则吗?或者我需要在组件中应用它(解析后)?或者通过其他方式?
更好的办法是在 Service
图层中执行所有复杂的过程,然后让 Component
处理视图(DOM 操作、动画等)。
You can have more than one Service Layer to handle different level of task.
- 服务级别 1 - 处理 HTTP 调用
- 服务级别 2 - 解析和操作
- 组件级别 - 显示已解析的内容。
Angular在这里为您提供了多种操作方式,最重要的是要记住Angular与DI连线,意思是:
- 您创建一个服务
- 将其注册为提供商
- 使用
@Injectable
装饰器将其注入到组件中以公开组件和服务之间的功能。
这里有两种方法:
一个:
您在组件中编写业务逻辑,使用您的服务作为 数据传输器 - 该服务将获取参数,将其传递给服务器并return响应使用来自服务器的参数。
两个:
组件层将负责客户端逻辑,并且只会使用服务方法,服务将负责业务逻辑,所有组件要做的就是为请求传递参数,从响应中接收参数并根据客户的需要进行处理。
什么是对的?
这将取决于您决定采取的架构和操作过程。两者都是正确的,由你决定哪一个对你更有好处。
我会在我的 Angular service
上申请 Business rules
。
这个只显示今天创建的新闻。
我像 Array<News>
.
我的问题是:
我可以直接在我的服务中应用我的业务规则吗?或者我需要在组件中应用它(解析后)?或者通过其他方式?
更好的办法是在 Service
图层中执行所有复杂的过程,然后让 Component
处理视图(DOM 操作、动画等)。
You can have more than one Service Layer to handle different level of task.
- 服务级别 1 - 处理 HTTP 调用
- 服务级别 2 - 解析和操作
- 组件级别 - 显示已解析的内容。
Angular在这里为您提供了多种操作方式,最重要的是要记住Angular与DI连线,意思是:
- 您创建一个服务
- 将其注册为提供商
- 使用
@Injectable
装饰器将其注入到组件中以公开组件和服务之间的功能。
这里有两种方法:
一个:
您在组件中编写业务逻辑,使用您的服务作为 数据传输器 - 该服务将获取参数,将其传递给服务器并return响应使用来自服务器的参数。
两个:
组件层将负责客户端逻辑,并且只会使用服务方法,服务将负责业务逻辑,所有组件要做的就是为请求传递参数,从响应中接收参数并根据客户的需要进行处理。
什么是对的?
这将取决于您决定采取的架构和操作过程。两者都是正确的,由你决定哪一个对你更有好处。