Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 领域驱动的设计应用层可以有模型吗_Php_Design Patterns_Domain Driven Design_Ddd Service - Fatal编程技术网

Php 领域驱动的设计应用层可以有模型吗

Php 领域驱动的设计应用层可以有模型吗,php,design-patterns,domain-driven-design,ddd-service,Php,Design Patterns,Domain Driven Design,Ddd Service,ddd中的应用层可以有模型吗 更明确地说,我的系统中有一个凭证实体,它与域层之外的身份验证过程相关,那么这个实体将在哪里?我是域驱动设计的新手。应用层可以使用自己的数据表示。如果将其连接到用户界面,应用程序层将必须转换域对象以查看可编辑的数据 但我不会称之为“模型”,除非是“视图模型” 没有更多的细节,很难说有什么更有用的,所以我将尝试通过示例来回答您的集成问题 沃恩·弗农的示例应用程序 看看,您可以将身份验证服务与您的消费应用程序隔离开来。Vernon为此建模了三个独立的Java应用程序 现在

ddd中的应用层可以有模型吗


更明确地说,我的系统中有一个
凭证
实体,它与域层之外的身份验证过程相关,那么这个实体将在哪里?我是域驱动设计的新手。

应用层可以使用自己的数据表示。如果将其连接到用户界面,应用程序层将必须转换域对象以查看可编辑的数据

但我不会称之为“模型”,除非是“视图模型”

没有更多的细节,很难说有什么更有用的,所以我将尝试通过示例来回答您的集成问题

沃恩·弗农的示例应用程序 看看,您可以将身份验证服务与您的消费应用程序隔离开来。Vernon为此建模了三个独立的Java应用程序

现在,IdentityAccess服务提供了所有身份验证。在那里,您可以创建
租户
实体。还有协作应用程序(论坛等),它使用自己的
租户内部表示形式

因此,客户端应用程序获得一个
TenantId
,并创建自己的
Tenant
对象,以将论坛线程与租户关联<代码>租户不会从此应用中更改或保留,只会使用

将域对象绑定到它之外的内容 你的观点可能更简单。如果您有一个
凭证
实体(在您的域中)和它之外的一些身份验证逻辑,请使“验证器”实现域的专用接口,并在确实需要时将其注入域对象中。(这就是端口和适配器方法:双方都可以指定接口并等待具体实现;另一方实现接口并将对象注入。)

我想你不需要从你的域中访问身份验证逻辑,但是我们需要看到更多的代码来判断这一点


Vernon使用一个来处理错误的登录详细信息。

如果它在域层之外,您可以将其称为域实体。我认为
凭证
或安全相关模型应该在基础架构层