软件设计

Flyweight vs对象池模式:什么时候有用?

据我所知,对象池是一个创意模式,而flyweight是一个结构模式,但实际上我看不出这两种模式之间的差异,有人可以向我解释一下差异,每个都可以在实现中有用吗? 解决方案 该flyweights的一个区别是通常是不可变的实例,而从池中获取的资源通常是可变的 所以你创建flyweights,以避免重复创建包含相同状态的对象的多个实例的成本(因为它们完全相同,只创建一个并重用它在您的应用程 ..
发布时间:2017-05-14 21:12:19 软件设计

MVP中的组合与继承

我正在使用MVP模式开发大型应用程序。在开发工作中,我提出了是否应该使用组合或继承的问题。例如:假设我有一个名为 Foo 的表单,字段为 A 和 B 。在应用程序的其他部分,我有一个表单 Bar 具有相同的字段 A 和 B ,但另外一个字段 C 。 目前,我的代码是用继承方法编写的,其中视图形式 Bar 继承自 Foo 即可。演示者然后处理与模型有些不同的数据。这样做很简单,但是打败我是否遵 ..

如何使用MATLAB从图像中检测树?

我想标记图像中存在的树。我尝试了许多基于颜色的分割方法,如RGB Vector space& HSI彩色空间,L a b *颜色空间,流域分割,NDVI方法,但大多数树状区域都丢失。 是否有人知道更多的颜色检测(或)分割程序? 我只需要在MATLAB中开发一个算法。 解决方案 从卫星或航空图像等遥感数据中提取树木的基本方法是计算归一化差异植被指数(NDVI),然后对NDVI进行 ..
发布时间:2017-05-14 21:11:04 软件设计

java异常处理策略

在我的代码中,我有一个应用程序,如此UI - >后端进程 - >结果到UI。使用try,catch来处理我的异常。但是在代码中,我有这么多重复的异常,可能会在不同的类中引发相同的异常。 所以,我打算做一个异常处理策略,以便当抛出异常时,它必须被重定向到单独的异常处理代码(像独立的自定义异常处理库类)。所以它不应该在我的业务逻辑内。 有人可以建议我如何实现它,以及是否最好的想法来处理我的 ..
发布时间:2017-05-14 21:10:51 软件设计

用于搜索表单的ASP.NET MVC分页

我已经在MVC中阅读了几个不同的帖子,但没有描述一个场景,我有一个像搜索表单的东西,然后想要在用户的表单下显示搜索条件(带分页)的结果,一旦用户点击提交。 我的问题是,我使用的分页解决方案将创建将通过所需页面的链接,如下所示: http://mysite.com/search/2/而且这一切都很好,很好,我没有将查询的结果发送到内存中的数据库或任何东西,所以我 ..
发布时间:2017-05-14 21:09:36 软件设计

实施SOLID原则的模式

我正在做一个SOLID设计原则的演示,我正在努力将单一责任原则和开放原则与设计模式联系起来。 目前我有 SRP:代理,外观 OCP:策略,命令 是否还有其他基本模式? 解决方案 SOLID原则比其他任何东西都是更好的OO语言和框架的属性。他们不会轻易地转化为设计模式。相反,它们在设计模式中影响好与坏。 通常,SOLID原理的全部显示在每个设计模式中。如果所有SOL ..
发布时间:2017-05-14 21:09:03 软件设计

IoC服务的抽象类或接口

我正在使用IoC在项目中提供仓库的具体实现。我读过的所有示例都使用接口作为服务的定义。但是,从Microsoft获取建议后,建议更喜欢通过接口进行抽象类。 我发现这有助于模板模式,以减少重复。例如给出一个产品类与一个属性 IsActive 我可以使用一个接口的存储库,如: interface IProductRepository { IEnumerable加 ..
发布时间:2017-05-14 21:07:49 软件设计

IoC容器涉及什么性能开销?

松散耦合当然是很棒的,但是我经常想知道使用IoC容器(例如Castle Windsor)动态使用什么架空线路连接在一起? 我知道一个详细的答案将取决于IoC的用途,但我真的只是想了解IoC工作涉及的努力程度。 有没有人有任何统计资料或其他资源? 谢谢 解决方案 有关于性能的链接 http:/ /realfiction.net/?q=node/143 有一个结果 ..
发布时间:2017-05-14 21:07:37 软件设计

MVC是编写asp.net应用程序的最佳方式吗?

更新:我知道没有一个最好的办法来做一切。对不起,没有说出来。在数据访问教程的上下文中,如果您必须执行该教程中所做的项目,那么您是否应该使用MVC,如果您必须选择其中一个,则可以使用它? 更新: MVC是编写asp.net应用程序的更合适的方法,而不是在这里找到的教程: http://www.asp.net/Learn/data-access/ 原始 我问,因为我初步了解了M ..
发布时间:2017-05-14 21:06:24 软件设计

Clojure Model-View-Controller(MVC)设计

我在使用Java Swing在Clojure中编写桌面GUI应用程序。通常当使用Java时,我将使用Observer模式根据MVC设计模式设计应用程序。通过这种方式,视图与模型分离,变化不会相互影响,使更改更容易。 我想知道Clojure是否比普通的MVC和Observer设计模式有更好的方法来解决这个问题?我是功能性编程的新功能,所以我不知道如何使模型与视图分开。我需要这个,因为应用程序将 ..

MVC的最佳定义是什么?

我已经在MVC配置中使用Zend Framework,在rails上阅读ruby,并计划在Python(Django?)中检查其他MVC框架...我真的很喜欢将逻辑,安全和验证。但是在使用它一年后,我阅读了一个答案 here 说几乎每个人都有错误的MVC定义,这让我想知道...什么是MVC的正确定义,我可以在哪里阅读关于模式和标准实现? 更新:我承诺我们都知道BASIC定义(一个模型一个控制 ..
发布时间:2017-05-14 21:04:44 软件设计

静态类型检查的设计模式

我正在试图弄清楚我的程序的哪些方面可以被scala编译器静态地输入。阅读此问题后,我想出了类型的设计模式的想法。我发现使用Scala的类型系统来解决可能的问题非常复杂。所以我想看看实际的用法(不是peano算术或类似的东西)。简单的模式经常在正常的代码中出现。 有谁知道处理这个问题的任何博客甚至是书?最好在Scala中,但它也可能对其他语言有用。 解决方案 我认为应该得到最有用的东西 ..
发布时间:2017-05-14 21:04:29 软件设计

摆脱程序思维

在大学学习计算毕业后,我已经在编程(作为工作)约3-4个月。 在大学,我被教导面向对象编程我觉得我很好的掌握了这一点,直到我开始处理真正的问题。 我只是似乎无法做任何事情,但提出了解决方案的程序代码 - 尽管我正在使用类和基本的oop技术,代码基本上是程序化的,我知道有更好的解决方案,但我似乎无法匹配我想要做的模式等。 在使用oop技术真正开始编程之前,需要多长时间/多的练习,而 ..
发布时间:2017-05-14 21:04:17 软件设计

参考ANSI C中的设计模式?

你可以指出我在标准C(C89或C99)中的设计模式的参考? (不是C#,而不是C ++) 解决方案 看看Axel-Tobias Schreiner的电子书使用ANSI-C的面向对象编程。您将不得不在某些模式的某些方面,但您可以实现许多更简单的GoF。 ..
发布时间:2017-05-14 21:04:05 软件设计

scala中的惰性函数定义

我一直在学习scala,我不得不说这是一个很酷的语言。我特别喜欢它的模式匹配功能和功能文字,但我来自一个javascript,红宝石背景,我最喜欢的模式之一就是这些语言的懒惰功能和方法定义模式。 javascript中的一个例子是 var foo = function(){ var t = new Date(); foo = function(){ return t; }; ..

Scala功能设计模式目录

自从一周以来,我正在阅读Scala中的编程。 作者一步一步地介绍了语言的元素,但是当使用像演员,关闭,currying,....等功能的东西时,我仍然感到困惑。 我正在寻找功能构成的典型用例或最佳做法的目录。 我并不是重新实现像Scala这样的知名模式,比如: http://github.com/greedy/scala-study- group / tree / master ..
发布时间:2017-05-14 21:02:54 软件设计

为什么查询对象设计模式

我正在试图了解“查询对象设计模式”。我不能找到好的和简单的例子。有人可以帮助我了解这种设计模式是什么,以及我们可以实现哪些问题? 谢谢, Santosh 解决方案 查询设计模式通常与存储库设计模式结合使用。 让我们以一个例子,然后我会给一个很好的文章阅读。假设我们有一个数据库,我们存储有关客户和订单等信息。 然后我们创建一个初始的仓库,如下所示: class C ..
发布时间:2017-05-14 21:01:50 软件设计

工厂如何知道要创建的对象类型?

我相信工厂方法设计模式适合我正在努力做的事情,但我不确定给予它多少责任(子类的知识)。在维基百科上使用工厂方法模式的示例描述了我几乎完全是这样的情况: / p> public class ImageReaderFactory { public static ImageReader getImageReader(InputStream is) { int imageType = f ..
发布时间:2017-05-14 21:01:01 软件设计

界面隔离原则只是一个单一责任原则的替代品?

接口隔离原理只是一个单一责任原则的替代方案? 我认为,如果我的类完成SRP,则不需要提取多个接口。 / p> 所以ISP看起来像解决方案,以防我们因为某些原因打破SRP。 我是对的? / p> 解决方案 否。举个例子,他们的责任是持续的数据例如。硬盘将类拆分为读写部分将不具有实际意义。但有些客户端只应该使用该类来读取数据,一些客户端只能写入数据,而有些客户端要做这两个。应 ..