软件设计

表数据网关和模型

我听说过这个短语“胖模型,瘦身”,相信我明白了这一点。在通过 Zend Quickstart Guide 工作时遇到过表数据网关模式。 在我看来,这种设计模式正在提倡MVC堆栈的第四个组件。它正在从“胖模型”移动到“瘦模型,瘦控制器和胖的TableDataGateway”。从我对这种设计模式的理解,该模型不仅仅是TableDataGateway中存储的数据的存储机制。 我了解了Tabl ..

JSF注入管理财产,格局好吗?

我对JSF来说非常新鲜,并没有真正“使用”不同的思维,所以我正在努力(我假设)是基本的。 说我有一个类User,它是一个会话bean。假设我有一个10000个对象的控制器,说Factory,需要将其中的一些设置为“锁定”,在我们的情况下,这意味着“锁定”字段不再变为null,但引用了一个“LockedItem”对象。 这是我无法使事情发生的地方:LockedItem,当你实验时,应该引 ..

C#设计模式建议

我有一个对象的集合。在这个集合中,我需要使用一些条件来搜索对象的出现。 使用条件1搜索 如果条件1无法使用条件2 如果条件2失败使用条件3 如果条件3无法使用条件4 每个条件都由多个过滤器组成。 我正在寻找关于可维护的设计模式的建议。 解决方案 看起来像责任链: http://en.wikipedia.org/wiki/Chain-of-respo ..
发布时间:2017-05-14 11:27:22 软件设计

如何使用T-SQL替换模式?

我有代码来规范化POB地址。例如,包括的规范化之一是: set @ string = replace(@ string,'pobox','pob' ) 现在我想做类似的事情 - 我想找到任何直接跟随的POB数字(两者之间没有空格)并插入一个空格。我想找到“像POB [0-9]”的模式,然后用“POB”替换“POB”。我该如何做到这一点?可以用简单的替换来完成吗?或者我需要使 ..
发布时间:2017-05-14 11:27:02 软件设计

请举一个工厂方法模式的例子

我阅读了 factory pattern和 factory method pattern之间的区别。 工厂方法模式将对象的实例化延迟到子类。另外这是一个工厂方法,因为“创建者”的孩子负责实现“创建”方法。 哪个作为一个简单的工厂直接由想要创建对象的类调用。 但是工厂模式也可以通过反射来添加类注册,并为要创建的对象使用一个子类,并将对象实例化逻辑保持在该子类中,从而解除工厂类。 ..
发布时间:2017-05-14 11:26:25 软件设计

什么时候应该在Asp.net MVC(设计问题)中创建新的Controller类?

控制器是应用层(在DDD中) 在我提出问题之前, / li> 它控制应用程序流程。 保持薄薄 它控制工作单位(又称事务) 我的问题是“什么时候应该创建新的Controller类?”。我将在 NerdDinner 中以DinnerController为例。 是否为 Dinner Module 的控制器? (是模块吗?IMO,对于模块来说太小了) 如果是,应该为每个模块创建控制器 ..
发布时间:2017-05-14 11:26:13 软件设计

OOPS(设计模式)

嗨,嗨,我想要限制对象创建意味着一个类最多可以假定4个对象不超过那个如何实现这个? 解决方案 一种方法是使用最多可创建4个实例的对象工厂。这是一个有趣的需求...对象池是否也有同样的需求? ..
发布时间:2017-05-14 11:25:26 软件设计

为什么我们需要一个“接收器”命令设计模式中的类

我正在学习指挥设计模式。据我所知,与命令模式总是相关的四个术语是命令,接收者,调用者和客户端。 具体的命令类有一个 execute()方法,而调用者有几个命令。调用者决定何时调用命令的 execute()方法。 当调用 execute()方法时,它调用接收方的方法。然后,接收者进行工作。 我不明白为什么我们需要接收器类?我们可以在 execute()方法中进行工作,似乎接收者类是 ..
发布时间:2017-05-14 11:25:02 软件设计

界面的要点

可能重复: 我将如何知道什么时候创建界面? 我想知道使用接口的要点。 您是否使用界面?如果是,您什么时候决定使用它们,何时决定不使用它们? 我现在已经为我的服务层和我的存储库层定义了接口,但我想知道我是否在其他有用的地方错过了。 我想我完全不了解他们的目的。 / p> 解决方案 一个接口定义了一个合同。任何实现接口的类必须满足该合同。这意味着该类必须实现接口中 ..
发布时间:2017-05-14 11:23:49 软件设计

静态局部变量是不好的做法吗?

相关C ++问题:方法中的静态局部变量是不好的做法? 在VB.NET中,当我想要一个简单的计数器或每次调用一个方法时增加的事情,我经常发现自己编写的代码如下: / p> Private Sub tmrRefresh_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs)处理tmrRefresh.Tick 静 ..
发布时间:2017-05-14 11:23:23 软件设计

什么是代表团?我什么时候想用它?

在OOP中,提到了一个术语委托。这是如何在课堂上建模的?我在雅虎等搜索,但获得了代表的链接。 解决方案 想象你有课程 code>和引擎: public class Car { private Engine engine = new Engine(); //或从外部注入 public void start(){ engine.start(); } } ..
发布时间:2017-05-14 11:23:11 软件设计

如何实现MVC中的工作单位:责任

谁负责 谁有责任开始和完成单位在一个MVC架构中的工作? 解决方案 控制器不负责,它违反了 SRP 。控制器根本不应该知道UoW。在网络中,通常使用每个服务器请求的一个UoW。在这种情况下,UoW应该在请求结束时处理,并在请求开始之后开始(理想情况下,UoW的开始应该是懒惰的)。最好的方法是使用Application_EndRequest和Application_BeginReque ..

MVC模式是纯粹的演示层模式吗?

今天有一个特别的问题:) 我刚刚在技术大学进行了一次测试,被告知我错了。 所以我很想知道你们(我相信你比我的老师): MVC模式是否在表现层? 或者是实现Business / DataAccess层中模式的模型部分。 我的老师说,模式不可能跨越更多超过一层。 但我认为这是一个企业架构模式,因此可以跨多层。 我有多错? :) 解决方案 你错了... 课 ..
发布时间:2017-05-14 11:22:30 软件设计

DAO模式 - 使用静态或非静态方法?

我的应用程序正在使用DAO模式。 我应该使实现方法“静态”吗? 我在说这个具体的实现: findByIdentifier(String identifier) 还有关于Generic的实现: E getByID(K ID); 列出findAll(); 更新(E实体); 删除(E实体); 感谢您的建议! public interface DaoBas ..
发布时间:2017-05-14 11:19:46 软件设计

DDD和汇总交易边界

假设我有一个名为document的对象,它有一堆图像,音频,视频等的孩子,所以我的应用程序的用户可以通过输入一些文字,添加图像,视频等来创建文档。我在DDD中了解的是文档是一种聚合,而图像,视频始终以文档为根。基于这一理解,我将如何设计一个使用户能够创建/编辑文档的应用程序?我可以有一个REST端点来上传文件和所有它的孩子在一个请求,但这是潜在的长时间运行的操作。或者,我可以设计2个休息终点,一个 ..
发布时间:2017-05-14 11:19:00 软件设计

格斗码格局在锦标赛中?

在从底部到顶部的比赛图表中,有一个获胜者,我被告知,它以某种方式与灰色代码相关联。我知道灰色代码是一个替代代码,它是递归的,有用的是找到各种游戏,空格填充曲线,纠错码,硬盘定位的最佳解决方案,是钢琴演奏者的缩写,但是这个代码如何与锦标赛图表有关吗? 解决方案 从 here : 二叉树中的一个节点。每个 节点中的值包含 锦标赛树中最佳排名队伍的排名。事实证明,排名-1的灰色代码有 ..
发布时间:2017-05-14 11:16:19 软件设计

任务或对话框的Presentation- / ViewModel的外观如何?

我试图移动到Model / ViewModel / View架构,并试图将选择对话框推送到此模式时被卡住。我想分开检索一个选项列表(业务/表示逻辑)和实际的显示/选择机制(视图),以重新使用具有不同视图的前者(例如ComboBox与模态对话框)。 这样一个选择任务的ViewModel如何看起来像?或者我试图努力,我应该在View中实现? 解决方案 你的意思是你想使用实现检索列表?如果 ..
发布时间:2017-05-14 11:16:07 软件设计

UML类关系

在确定常见的UML类关系时,我想确认我是否处于正确的轨道。例如,是以下之间的关系: 1 一个stackoverflow成员和他/她的stackoverflow用户帐户分类为组合关系或聚合关系?起初我以为这是一个协会,因为这个会员“有一个”帐号。然而,第二个想法,我正在考虑它的组成,因为每个“部分”(用户帐户)一次只属于一个整体(用户),这意味着只要我登录到stackoverflow,我必须使 ..
发布时间:2017-05-14 11:13:20 软件设计