软件设计

MouseAdapter:它使用哪种模式?

我已经能够找到很棒的资源,告诉我,Java API的MouseAdapter不会使用适配器模式。问题是:是否有一个MouseAdapter实现的模式? 我知道它是做什么的:它为MouseListener接口提供了一个具体的类,所以你只需要扩展类以避免实现不必要的模式。 我以为它可能是Bridge模式的一部分。我不确定,因为我不熟悉这种模式。 解决方案 很好的问题! 我可以 ..
发布时间:2017-05-16 19:11:29 软件设计

微软的Parallel Patterns Library:任何人都希望看到POSIX / Linux有多难?

该书已经发布: http://blogs.msdn.com/b/vcblog/archive/2011/03/15/10139453.aspx 我只是想知道,有没有人经过实现,看到偷取/端口到POSIX是多么容易?是否使用Managed C ++扩展名?对它的一般想法,或其异步代理库?它会很好,它有一个std ::或boost ::等效。 解决方案 DarkDust - Boo ..
发布时间:2017-05-16 19:10:16 软件设计

单身继承

如何从单例类继承为需要相同功能的其他类? 这样的东西有什么意义吗? 解决方案 Jon Skeet 一段时间写了这个。虽然使用嵌套的内部类确实有一些希望,但是可以使用Singleton来实现继承的一些的优点。它没有无限的可扩展性,它只是让Singleton在运行时选择自己的实现的一种技术。 实际上,继承自Singleton并不能做到这一点很有意义,因为Singleton模式的一部分是 ..
发布时间:2017-05-16 19:08:39 软件设计

是否有一个识别的模式为无用的对象实现一个接口?

例如,(虽然它不是接口).NET中的Stream类具有Stream.Null提供的实现,它只是丢弃数据。 PowerShell具有Out-Null。 在我开发的应用程序中,我经常发现使用默认实现NullFoo或类似的实现接口IFoo最好有一个无用的实现,而不是根本不传递一个对象。 我的问题是在文档化或解释架构时应该如何参考这种做法?是否有公认的名称或GoF / Fowler设计模式? ..
发布时间:2017-05-16 19:07:33 软件设计

我应该继续注册失败吗?

我正在为一个我所维护的应用程序自动化回归测试套件。在开发自动化回归测试时,我遇到了几乎肯定是一个错误的行为。所以,现在,我修改了自动化回归测试,没有注册失败 - 这是故意允许这个坏的行为,我的意思是。 所以,我对本网站上的其他人的意见感兴趣。显然,我会在缺陷跟踪中添加一个错误,以确保此错误行为得到修复。但是,有没有任何令人信服的原因(无论哪种方式)改变回归测试,以不断地指示失败或者使回归测试 ..
发布时间:2017-05-16 19:07:19 软件设计

什么是ObjectMother?

解决方案 ObjectMother以工厂模式开始,通过简单的方法调用提供预制的测试对象。它通过 超出工厂的范围,便于自定义创建的对象, 提供了在测试期间更新对象的方法,如果需要,则 ,如果需要,从数据库中删除对象完成测试。 使用ObjectMother的一些原因: *减少测试中的代码重复,提高测试的可维护性 *使测试对象超级 - 易于访问,鼓励开发人员编写更多的测试。 ..
发布时间:2017-05-16 19:07:07 软件设计

哪种设计模式与工厂模式相反?

我想知道工厂模式是否有相反的模式。例如,当需要删除某个对象时,需要进行额外的工作,以撤消在工厂对象中执行的配置。 扩展工厂对象使用Delete方法例如似乎是错误的,因为工厂模式是严格的创建模式。 更新:我使用工厂的原因是因为配置需要做的是将对对象引入一些不合适的依赖关系。将这个解除配置放在构造函数中会产生同样的问题。 解决方案 这是正确的方法来使用工厂。工厂不仅是创建对象的方法 ..
发布时间:2017-05-16 19:05:39 软件设计

不是多态性只是继承的副作用吗?

如果我理解正确,继承定义一个类型层次结构和类之间的关系。子类继承父类的行为,可以提供父类上任何公共接口的专门行为。 多态是这些子类可以提供自己的行为,同时仍然坚持 $ b 这是同样的事情吗? 解决方案您是正确的,在大多数OO语言中,继承和多态性与另一种语言一致。但是: 多态性和继承都说明了不同的方面。多态性显示了类型可以如何操作,而继承显示类型之间的关系。 多态和继承不 ..
发布时间:2017-05-16 19:05:04 软件设计

构建器模式和模板方法之间的差异(构建器与模板)

模板模式在基类中提供算法,其派生类中的步骤可以被修改。 在Builder模式下,具体的构建者会公开构建从Director类调用的产品的方法。 我明白,使用这些模式。模板模式是改变模板中一个或多个步骤的行为模式,而构建器模式是创建模式。 除了上述差异外,还有其他差异吗? 充当模板模式的基础模板。具体的建设者在模板模式中采用派生类作为替代步骤? 有人可以澄清一点。谢谢。 ..
发布时间:2017-05-16 19:03:24 软件设计

"适配器和QUOT;或“适配器”

在编程中,哪个拼写适配器或适配器是标准的或事实上的标准?他们之间有区别吗? 在升级中我看到“适配器”,而在文献中我看到“适配器”。 代码中首选哪一个? 解决方案 他们都是正确的,虽然我认为, em>适配器用于人(例如适应一段音乐的人),而适配器用于设备或机器;因此,在计算中,通常将使用适配器。维基百科提及这种区别,尽管没有任何真正的参考。我会使用你觉得更舒服的人,或者你已经使用 ..
发布时间:2017-05-16 19:02:32 软件设计

什么是行动设计模式?

什么是行动设计模式,以前我还没有听说过?我怀疑它与指挥设计模式 [维基百科]相同,但我找不到任何资源。 解决方案 你是对的,动作模式==命令模式。您在GUI设计中更经常地听到它被称为动作模式,形式为“按某些按钮,执行此操作”。在代码中,按钮将与某种动作对象进行连线。 ..
发布时间:2017-05-16 19:02:19 软件设计

这是否符合某种模式?

前段时间,我发现了一种机制来保护控制流 $ b 该技术提供了这一点: 请求的所有参数保存在服务器端 没有任何参数到达任何URL 应用程序的控制流严格获得由服务器端状态控制 基本原则是: 定义控制器 FlowController 页面需要包含具有某些参数的另一个控制器的链接,请询问 FlowController来准备链接 FlowController不提 ..
发布时间:2017-05-16 19:01:17 软件设计

DAO设计模式和连接处理

我有EmployeeDAOImpl.java和DepartmentDAOImpl.java。现在我从数据服务层调用这两个。 EmployeeDAO和DepartmentDAO是接口,它们只能减少CRUD方法。在服务层我有一个方法调用createEmployee(Employee employee)和createDepartment(Department department)。这两个呼叫应该在同一 ..
发布时间:2017-05-16 19:00:55 软件设计

访问MVC存储库中的Identity对象

我有一个漂亮的通用存储库,为我的许多业务实体做基本的CRUD。 实体承载形成一个通用对象,它具有我为所有对象维护的几个字段。 例如ModifiedBy,CreatedBy,CreatedDate,ModifiedDate。 这些字段ModifiedBy和CreatedBy将在任何更新/保存之前始终设置。 我的问题是: 有没有办法从我的存储库中的MVC Web应用程序访问Ident ..

错误:Haskell中的非穷尽模式

我有一些代码来处理列表(代表一个矩阵)。每个单元格是 N 或 B 。我想为每一行代表矩阵,数量为 N s。例如: [[B,B,N],[N,N,N]] 由 [1,3] 这是我的代码: data Case = B | N导出(Show,Eq) type Grille = [[Case]] g0,g1 :: Grille g0 = [[B,B,B, B,B,B,N],[B,B ..
发布时间:2017-05-16 18:57:32 软件设计

策略模式文件位置Rails

我有几个问题: 遵循这个问题的完美答复依赖于模型属性的业务逻辑。 我计划使用一个策略模式,我想知道我在哪个文件夹放上课文件?他们应该在模型文件夹中? 此外,我有一个默认行为,还需要创建一个Interface类,并从中导出我的默认策略,或者我将默认策略定义为基本策略? 解决方案 这是一个主观的答案,因此有可能在某些时候关闭。 提供了原始问题的答案,让我尝试回答这个问题。 ..
发布时间:2017-05-16 18:56:06 软件设计