Tag: 业务逻辑层

服务层与商业层架构的Web应用程序?

我知道这可能听起来很愚蠢,但我发现很难理解服务层的需求及其与业务层的差​​异。 所以,我们使用的是asp.net mvc 2,并且有数据访问层,它可以完成数据库的全部查询,然后我们有业务层需要完成业务逻辑和validation。 最后我们有了基本上具有所有视图的表示层。 另外我们也有一些帮助器,DTO和viewmodel类作为我们库的一部分放在不同的文件夹中。 但是我已经尝试了解架构,看起来服务层是架构的重要组成部分。 我所知道的是服务层是调用所有function的东西。 但是我真的不能在我们的应用程序中看到服务层的需求吗? 或者它可能已经在那里,我不能看到它…任何人都可以解释一个例子如何服务层是重要的? 它与业务层有什么不同,因为从我看过的东西看起来很相似? 如果它在第一需要呢? 我们所要做的就是以最好的方式构build我们的应用程序,您的想法和经验是什么?

“业务逻辑层”适合MVC应用程序在哪里?

首先,在任何人尖叫之前,我很难用一个简单的标题来概括它。 另一个标题可能是“域模型和MVC模型有什么区别?” 或“什么是模型?” 从概念上讲,我理解一个模型是视图和控制器使用的数据。 除此之外,对于模型的构成似乎有很多不同的观点。 什么是领域模型,与应用程序模型,视图模型,服务模型等等。 例如,在最近一个关于存储库模式的问题中,我被告知空白,存储库是模型的一部分。 但是,我已经读过其他观点,认为模型应该从持久模型和业务逻辑层分离。 毕竟,不是Repository模式应该将具体的持久化方法与模型分离吗? 其他人说,域模型和MVC模型是有区别的。 我们举一个简单的例子。 包含在MVC默认项目中的AccountController。 我已经阅读了几个意见,包括帐户代码是糟糕的devise,违反SRP等..如果要为MVC应用程序devise一个“适当的”成员模型,那会是什么? 你将如何分离模型中的ASP.NET服务(会员提供商,angular色提供商等)? 或者你会呢? 我看到它的方式,模型应该是“纯粹的”,也许与validation逻辑..但应该是与业务规则(validation除外)分开。 例如,假设您有一个业务规则,即在创build新帐户时必须通过电子邮件发送某人。 在我看来,这并不属于模型。 那它属于哪里? 有人在乎这个问题吗?

在Django中分离业务逻辑和数据访问

我正在Django写一个项目,我看到80%的代码在models.py文件models.py 。 这段代码令人困惑,在一段时间之后,我停止了解真正发生的事情。 这是困扰我的东西: 我发现我的模型级别(它应该只负责数据库中的数据)的工作也在发送电子邮件,在其他服务上发送API等。 另外,我觉得在视图中放置业务逻辑是不可接受的,因为这样很难控制。 例如,在我的应用程序中,至less有三种方法来创buildUser新实例,但从技术上讲,它应该一致地创build它们。 当我的模型的方法和属性变得不确定时,以及当它们产生副作用时,我并不总是注意到。 这是一个简单的例子。 起初, User模型是这样的: class User(db.Models): def get_present_name(self): return self.name or 'Anonymous' def activate(self): self.status = 'activated' self.save() 随着时间的推移,它变成这样: class User(db.Models): def get_present_name(self): # property became non-deterministic in terms of database # data is taken from another service by api return remote_api.request_user_name(self.uid) or 'Anonymous' def activate(self): # method […]

entity framework和业务对象

我从来没有使用entity framework,我想尝试一些个人项目实施它,让我的脚湿。 我看到实体可以暴露于表示层。 但我不希望某些字段暴露,像修改date和创builddate和各种其他数据库字段的字段。 我怎么能实现业务对象,只公开我需要的属性,但仍然保持对象的序列化? 这对LinqToSql有什么好处?