我的目标是尽可能让我的框架与我的应用程序分离(尽管我知道这并非完全可能)。我在我的应用程序中使用了几种不同的常见模型类型……映射器、数据对象和值对象。例如,UserMapper接受一个UserData对象并从数据库中收集信息,然后将其映射到一个UserValue对象以供在Controller中使用。这意味着这些模型具有以下依赖关系:UserMapper:需要UserData,以及构建UserValue的方法UserData:需要Db(来自框架)UserValue:什么都不需要我是否在框架的DIC方法中包含了创建Mapper对象、Data对象和Value对象的方法,以便可以自动注入(in
我们正在开发一个代码量相当大的PHP5项目,上周我开发了一个RESTfulAPI的PoC。我们将模型类与业务类分开。在尝试实现CRUD功能时,我发现,直接针对模型实现CRUD会非常简单,而针对业务逻辑实现它则不然,因为它的功能特定于当前存在的View,并且它的接口(interface)不'提供实现API所需的通用数据访问模型。考虑到这一点,我想到了以下问题:与数据交互的最佳方式是什么,同时保持模型的灵active和保持模型目前不关心的功能(比如发送邮件更改电子邮件地址时的激活链接)?之前经常使用django,其中大部分业务逻辑都在模型中实现,为什么还要将业务逻辑分开?你有任何现实生活中
我被问及PHP中可用的业务规则引擎。经过研究,我发现RuleEngine是可用的,但我不确定如何使用它。谁能解释一下RuleEngine是如何工作的 最佳答案 在大多数项目中,我们都有一些业务规则会影响我们的流程和输出。在我们的项目中设计一个规则引擎来控制所有的规则是一个最佳实践。拥有规则引擎的原因:规则可能会更改多次。所以如果我们有一个规则引擎,我们只需要改变一个地方,项目中的代码不多。我们可以轻松地根据我们的规则创建许多单元测试。我们的代码将更具可读性。规则引擎将是一个与其他层分离的新层。在php中:我做了一个简单的方法来创建规
简单的问题:在MVC中,一个模型可以与另一个模型交互吗?例如,使用Auth模型...它可以与User模型交互吗?还是有更好的方法来解决这个问题?中间人应该是控制者吗? 最佳答案 不同的模型类交互就好了。大多数复杂对象并不是完全独立的。与任何好的OO代码一样,这些类应该使用公共(public)方法并且不将它们的实现公开给彼此,但除此之外,一切都很好。 关于php-MVC-业务模型可以相互了解吗?,我们在StackOverflow上找到一个类似的问题: https
有一个非常相似的问题:Modelingproductswithvastlydifferentsetsofneeded-to-knowinformationandlinkingthemtolineitems?但是我找不到对我有帮助的答案;上述问答中有人指向designingdatabasetoholddifferentmetadatainformation,它有一个很好的公认答案,但由于我的程序明确需要搜索功能,我不希望性能受到影响。我是一名“技术员”,使用PHP+Oracle来跟踪我们公司的销售进度并生成报告。我们的工作流程通常如下所示:营销人员为我的系统提供准备好的数据集;一线员工(
如果我们使用类型提示,我们可以强制设置一个对象:publicfunctionmyMethodThatDoFineStuff(MyObject$myobject){}如果我们想放置不是所有对象而是它的一些属性是强制性的怎么办?让我们假设我们的领域模型会更好,如果它更好地代表某个领域。这是否对我们的业务模型(在我们的领域)更有意义?我们应该怎么做?无论如何我们都应该总是放置ALLObject吗?示例说明建议:让我们想象一下,为了列出某个作者的书籍,我们有这个方法:publicfunctionlistBookOfAuthor(Author$author){}现在,假设作者对象有200个左右的
我想知道如何为Hibernate实体编写正确的equals()和hashCode(),这些实体与作为业务key很重要的另一个实体具有延迟加载的ManyToOne关系。请注意,我已经阅读了theHibernatedocumentationonthistopic我知道我必须/不应该使用对象ID。为了澄清,这里有一个例子:publicclassBusinessEntityimplementsSerializable{//forsimplicity,herejusttheimportantpartprivateStrings;@ManyToOne(fetch=FetchType.LAZY)pr
使用EJB3时是否有任何理由进行委托(delegate)?因为我从委托(delegate)中看到的唯一真正好处是它允许隐藏EJB体系结构的查找和访问细节。好吧,它还提供了一些解耦功能,但恕我直言,它基本上未被使用。使用EJB3我们有注入(inject),所以现在我可以创建一个带有@EJB注释的变量并按原样使用它。我还需要代表吗?这个注入(inject)资源消耗大吗?我的意思是,如果我在JSF的请求托管bean中使用它,使用委托(delegate)来减少这些注入(inject)调用可能会更好吗?谢谢! 最佳答案 让我们回顾一下原始bu
直接来自this关于J2EEDAO模式的oracle文章:确实一切都非常清楚,但业务对象“参与者”(他们这样调用它)除外。在这里,我引用了一些我希望获得更多见解的内容(特别是对现实生活中的例子(一个简单的例子)很有用)。BusinessObjectTheBusinessObjectrepresentsthedataclient.Itistheobjectthatrequiresaccesstothedatasourcetoobtainandstoredata.ABusinessObjectmaybeimplementedasasessionbean,entitybean,orsomeo
我是readingthispage我发现了以下声明:MVCinJavaServerPagesNowthatwehaveaconvenientarchitucturetoseparatetheview,howcanweleveragethat?JavaServerPages(JSP)becomesmoreinterestingbecausetheHTMLcontentcanbeseparatedfromtheJavabusinessobjects.JSPcanalsomakeuseofJavaBeans.ThebusinesslogiccouldbeplacedinsideJavaBea