php的ddd,在MVC框架中实现DDD – PHP

在mvc中,模型是一个层,它包含所有的域业务逻辑.

在域驱动设计中,业务逻辑可以分为各种构建块.

在域驱动设计域模型中.

A domain model is a system of abstractions that describes selected

aspects of a sphere of knowledge,influence or activity (a domain).

The model can then be used to solve problems related to that domain

开发人员已经阅读了域驱动设计,或正在使用Doctrine2或Hibernate,

通常在DDD中更好地关注域模型.在mvc框架中,模型层与DDD中的域模型重叠.这意味着我们可以在mvc框架中的模型文件夹中实现域模型

这样的实现如下所示.模型文件夹是如何结构的

Model(this can model or domain)

|

|----Entities

| |---BlogPost.PHP

| |---Comment.PHP

| |---User.PHP

|

|----Repositories

| |---BlogPostRepository.PHP

| |---CommentRepository.PHP

| |---UserRepository.PHP

|

|----Services

| |---UserService.PHP

|

|----factories

| |---userfactory.PHP

|

|----dataMappers

| |---userDataMapper.PHP // this inherit from Eloquent model

|

|----ValueObject

>我想知道是我的第一个假设(可以在mvc框架中的模型文件夹中实现域模型)是正确的吗?

>是正确的设计,DDD中的所有构建块在模型文件夹(如上所示)中实现,如实体,服务,存储库

>或有关此实施的任何其他建议.

>如果这是错误的,在mvc框架中实现DDD的构建块(如实体,存储库)的正确方法是什么

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty Associated -- ByteBuf

ByteBuf ByteBuf是Netty的Server与Client之间通信的数据传输载体.他提供了一个byte数组(byte[])的抽象视图 buffer创建 我们推荐通过一个Unpooled的帮助方法来创建新的buffer而不是通过调用独立的构造器来创建 随机访问索引 就像普通的原声字节数组一样, ByteBuf使用零基坐标(z…

php 根号2计算过程,根号2以及π的计算--关于无理数的畅想

[导读]这两篇文章里,我发现不需要那些老师教的范式也能很好地理解那些现代概念,并且理解的更深刻。这两篇文章里,我发现不需要那些老师教的范式也能很好地理解那些现代概念,并且理解的更深刻。我一般假设自己从来没有学过微积分&a…

oracle对象权限 函数,oracle的系统和对象权限

alter any cluster 修改任意簇的权限alter any index 修改任意索引的权限alter any role 修改任意角色的权限alter any sequence 修改任意序列的权限alter any snapshot 修改任意快照的权限alter any table 修改任意表的权限alter any trigger 修改任意触发器的权限alter clust…

批处理程序实例

一、交互界面设计 没啥说的,看看高手设计的菜单界面吧:echo offclstitle 终极多功能修复:menuclscolor 0Aecho.echo echo 请选择要进行的操作,然后按回车echo echo.echo 1.网络修复及上网相关设置,修复IE,自定义屏蔽网站echo.echo 2.病毒专杀…

oracle 10g dsg,【ORACLE】relink oracle 10g 数据库

通常要迁移一个数据库,我们会使用1 冷备份,整个数据库迁移,2 rman duplicate 功能进行复制到本机或者复制到异机,前面两种都必须先在目标库上安装软件。这里测试另外一种方法:对于单实例数据库,复制整个ora…

任务分配与时间估计

各成员的任务分配与时间估计如下: 项目所需总时间为: 转载于:https://www.cnblogs.com/buaa-smile/p/3383374.html

vbs 连oracle 负载均衡,(原)QTP中用VBS调用PLSQL并执行相关语句

今天工作的需求是要在录制一段web程序之前要调用plsql并执行一段数据库代码清空相关数据才能做web录制测试,本来是想用QTP直接录制plsql的,但是后来发现自己对qtp录制window application并不是很了解,选定了 Automation菜单下的Record and Ru…

unity中发布android时候出现这样的提示错误:error:device not found

原因很简单,就是你没开启安卓设备,无论是安卓手机还是安卓虚拟器。。 解决办法:只要开启安卓虚拟器或者连接手机即可 再次打开cmd命令窗口,找到apk文件所在路径,例如: D: 回车(我的是在d盘根目录…

Oracle 每个session的限制,限制oracle普通用户能且只能kill自己的会话

声明:仅用于测试环境方便调试,不可能应用于生产环境;故请勿加入到程序源代码来实现自动杀进程。只需一个参数,就能kill用户自己的会话,请小心操作,以免误kill进程。使用方法:新开一个session后&…

Hessian简介

Hessian Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据目 录 1介绍 1.1 注意事…

linux 以某个用户执行,Linux root用户肿么以制定的用户去执行某个程序。

chmod o-x m1说明:命令格式:chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指…

linux启动sh文件命令,Linux下如何写 .sh 脚本启动 项目

Linux下如何写 .sh 脚本启动 项目创建文件 mealcoupon.sh内容如下:#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAMExhqy_yzf-1.0.0.war#项目的路径(替换成你项目的路径)PROJECT_LOCATION/home/xpro/xhqy_jt#使用说明,用…

[wikioi]奇怪的梦境

http://wikioi.com/problem/2833/ 拓扑排序&#xff0c;居然1A&#xff0c;哈哈。 #include <cstdio> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <memory.h> #define MAX(a, b) a>b?a:b…

linux所有用户无法登录用户名和密码错误,为什么linux登录不了啊,用户名和密码都没问题,就是出现这个,有高手指点一下。...

为什么linux登录不了啊&#xff0c;用户名和密码都没问题&#xff0c;就是出现这个&#xff0c;有高手指点一下。关注:121 答案:6 mip版解决时间 2021-02-04 23:27提问者删除记忆里的你2021-02-04 04:27最佳答案二级知识专家那年夏天2021-02-04 05:19用户名肯定是root&#x…

Notes of the scrum meeting(2013/10/23)

ps&#xff1a;本来是10月23号周三下午开的会&#xff0c;这几天由于各种事情忙&#xff0c;忘记写博客了&#xff0c;现在补上。 软工项目组buaa_smile开始项目第一次scrum meeting meeting time:4:00~5:00p.m.,October 23th,2013 meeting place:主M202 attendees: 顾育豪 …

linux查用户的家目录,详解Linux误删用户家目录的恢复方法

在生产中可能会由于误操作而删除了某一用户的家目录&#xff0c;这时就需要把用户的家目录安装创建新用户时的模板文件&#xff0c;再恢复并且要跟之前的权限相同。1. 创建一个新的用户用于测试[rootcentos6 aubin]# useradd wangcai2. 新用户创建完成时会在/home下面自动创建同…

linux spring mvc tomcat配置,Spring MVC配置详解

一、Spring MVC处理流程1.Spring MVC将所有请求都交由DispatchServlet进行处理。2.DispatchServlet获取HandlerMapping(处理映射器)&#xff0c;然后找到对应的HandlerBean处理Controller请求&#xff0c;并返回一个ModelAndView对象。3.DispatchServlet查询一个或多个ViewReso…

这段时

这段时间通过与大家一起努力与研究&#xff0c;用新的技术框架重新构建了某集团销售统计系统。在这里总结一下项目心得。 技术—— EasyUI更好前端设计&#xff0c;通过json生成相应UI组件。并且风格统一大方&#xff0c;比较好的支持异步调用。MVC更好的将显示与控制分离&…