小编Sus*_*ha7的帖子

在MVC框架中实现DDD - PHP

在mvc中,模型是一个层,它包含所有域业务逻辑.
在域驱动设计中,业务逻辑可以分为各种构建块.

在域驱动设计域模型中.

域模型是抽象系统,描述知识,影响或活动领域(域)的选定方面.然后,该模型可用于解决与该域相关的问题

开发人员已阅读Domain Driven Design,或正在使用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
Run Code Online (Sandbox Code Playgroud)


  • 我想知道的是我的第一个假设(可以在mvc框架中的模型文件夹中实现域模型)是否正确?
  • DDD中的所有构建块在模型文件夹中实现的正确设计(如上所示),如实体,服务,存储库
  • 或者您对此实施的任何其他建议.
  • 如果这是错的,那么实现DDD构建块的正确方法是什么,例如mvc框架中的实体,服务,存储库

php model-view-controller design-patterns domain-driven-design laravel

13
推荐指数
1
解决办法
3852
查看次数

在CodeIgniter应用程序中实现服务层的正确方法

以下是在CodeIgniter应用程序中实现服务层的两种方法.

第一种方法 在此输入图像描述

1.send request to the controller 
2.calling service layer methods from controller
3.return processed result data set(D1) from service layer to controller 
4.then according to that data set controller demand data from model
5.model return data set(D2) to the controller
6.then controller send second data set(D2) to view.
Run Code Online (Sandbox Code Playgroud)

第二种方法

在此输入图像描述

1.send request to the controller
2.calling service layer methods from controller
3.service layer demand data from model
4.model send requested data set(d1) to the service layer
5.after some processing return …
Run Code Online (Sandbox Code Playgroud)

php oop codeigniter service-layer

7
推荐指数
1
解决办法
4382
查看次数

在_javascript中将值设置为__proto__`和`prototype

__proto__和之间有什么区别prototype

我在网上阅读了大部分文章,我仍然无法理解..据我所知 __proto__ ,原型对象的属性 prototype是实际对象我是否正确?....

为什么只有函数具有原型属性?它是如何成为一个对象?

var fn = function(){};
console.dir(fn);
Run Code Online (Sandbox Code Playgroud)



产量

function fn()
  arguments: null
  caller: null
  length: 0
  name: ""
  prototype: Object
  __proto__: ()
  <function scope>
Run Code Online (Sandbox Code Playgroud)

使用对象和函数我尝试__proto__
在chrome控制台中设置值和原型,如下所示

//create object and display it
var o = {name : 'ss'};
console.dir(o);
Run Code Online (Sandbox Code Playgroud)



产量

Object
      name: "ss",
      __proto__: Object
Run Code Online (Sandbox Code Playgroud)

//set the values
o.__proto__ = 'aaa';
o.prototype = 'bbb';

//after set the values display the object
console.dir(o);
Run Code Online (Sandbox Code Playgroud)



产量

 Object
      name: "ss",
      prototype: "aaa",
      __proto__: Object
Run Code Online (Sandbox Code Playgroud)

//create function and …
Run Code Online (Sandbox Code Playgroud)

javascript oop

6
推荐指数
1
解决办法
631
查看次数

ER图中3个实体之间的关系-是一个三元数还是还需要2个二进制数?

我正在尝试为我的项目管理软件绘制一个ER图,描述以下内容。它包含以下实体:

  • 项目-软件项目
  • 任务-可以分解为许多任务的软件项目
  • 员工-属于此软件的员工

和:

  1. 一个项目可以分为任务。(任务可以由管理员用户创建,管理员用户可以将这些任务分配给选定的项目。这里仅将任务分配给项目,而没有将员工分配给项目。)

  2. 可以将员工分配到项目。
    (可以将员工分配到项目。这里仅将员工分配到项目,而没有分配到项目任务。)

  3. 对于选定项目的选定任务,我们可以从资源池中分配员工-在2中分配给该项目的员工。(这一次,我们必须指定项目,任务和员工;所有3个选择都是必需的。)

上面1、2和3的输入过程可以在系统的单独页面中完成。您可以先选择其中的任何一个。

对于以上关系,我创建了此ERD:

在此处输入图片说明

考虑

  • 项目与任务之间的关系1
  • 项目与员工之间的关系2

是否需要两个单独的关系(如ER图中的关系,关系1和关系2)?

要么

我们还可以仅使用项目,员工和任务之间的关系3,而不使用关系3吗?

database database-design entity-relationship relational-database database-schema

5
推荐指数
1
解决办法
2605
查看次数

在java代码中实现UML三元关联

我目前在代码中实现三元关联时遇到一些麻烦。我得到了二进制关联,但我不确定三元关联。

这是大学里的典型场景。

讲师可以向一名或多名学生教授一门科目
学生只能由一名讲师教授一门科目
讲师只能向一名学生教授一门科目

这三个类之间存在三元关联。

这三个类之间的关系如下面的 UML 类图所示,并且存在多重性

在此输入图像描述

我在互联网上阅读了有关此问题的不同来源,但找不到解决方案

如何实现这三个类之间的关联?或者,一般来说,实现类之间关联的可能方法是什么(在java中)?

java oop uml ooad class-diagram

5
推荐指数
1
解决办法
610
查看次数

在bootstrap 3中覆盖或添加样式到预定义的类

这是关于bootstrap 3.我想在重新调整浏览器大小时更改预定义的bootstrap 3列的颜色.

以下是index.html的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap Template</title>


<link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="screen"/>
<link href="css/custom.css" rel="stylesheet" type="text/css" media="screen"/>
<!--<link href="css/bootstrap-theme.css" rel="stylesheet" type="text/css" media="screen"/>-->
</head>

<body>
    <div class="container">
        <div class="row">
           <div class="col-lg-9 col-md-4 col-sm-2 col-xs-12 border">one</div>
           <div class="col-lg-2 col-md-4 col-sm-8 col-xs-12 border">two</div>
           <div class="col-lg-1 col-md-4 col-sm-2 col-xs-12 border">three</div>
        </div>
   </div>



<script src="js/jquery.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

custom.css文件:

.border
{
border:2px solid;       
}

.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4, …
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap-3

4
推荐指数
1
解决办法
2万
查看次数

为什么 Object.prototype.toString 返回 [object Object]

我的代码如下所示

var obj = { name: 'John' }
var x = obj.toString();// produce "[object Object]"

alert(x)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么Object.prototype.toString实现返回[object Object],为什么没有实现返回"{name: 'John'}"

javascript oop

4
推荐指数
2
解决办法
4941
查看次数

父 div 和其中的图像之间存在不必要的空间

html代码

<head>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="css/style.css" rel="stylesheet" type="text/css" media="screen"/>


<title>abc</title>

</head>
<body>
<div class="wrapper">

    <div class="box"><img src="images/roundlogo.jpg" alt=""></div>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS代码

img{
border:0px;
border-image-width:0px;
border-image-slice:0px;

}
.box
{
width:250px;
//border:1px solid;
height:auto;
border-image-slice:0px;
border-image-width:0px;
border-image-outset:0px;
}

.box img
{
width:100%;
//border:1px solid green;
margin-top:0px;
}
Run Code Online (Sandbox Code Playgroud)

我编写了上面显示的代码,但是在检查浏览器时,图像和父 div() 之间有 4px 的空间,称为 box

这是我在 jsfiddle http://jsfiddle.net/2RqmU/547/中的工作 ,您可以检查 iframe,结果显示这清楚地显示了空间 http://jsfiddle.net/2RqmU/548/

html css

1
推荐指数
1
解决办法
1404
查看次数

git 无法推送到 master 分支

  1. github 中的 git 存储库包含以下分支 (master,'abc' )
  2. 将 git repo abc 分支克隆到本地计算机
  3. 使用 git bash 进入 repo 文件夹
  4. 创建名为的 git 分支bbb
  5. 到分行结账bbb
  6. 将文件添加到 repo 文件夹
  7. 提交更改
  8. 使用以下命令将更改推送到远程存储abc库分支:

    git push origin bbb:abc
    
    Run Code Online (Sandbox Code Playgroud)

    效果很好。

  9. 然后使用以下命令将更改推送到远程存储库主分支:

    git push origin bbb:master
    
    Run Code Online (Sandbox Code Playgroud)

然后出现以下错误消息:

 ! [rejected]        bbb -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/sw7x/testing4.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: …
Run Code Online (Sandbox Code Playgroud)

git bash github

1
推荐指数
1
解决办法
4692
查看次数