软件设计

为什么VS2005 / VB.NET使用Dispose(布局为布尔型)重载实现IDisposable接口?

最近我需要用VS2005 / VB.NET提供的自动生成的对象来比较IDisposable和object finalization的建议模式。我们使用自动生成的一个公平的一点,但是看了两个并列后,我有一些有关VB.NET实现的问题... 为了参考,这里是IDE的实现: 公共类Class1 实现IDisposable PrivatewhereValue As Boolean = ..

设计模式建议:图形 - >计算

我有一个域模型,保存在一个数据库中,代表一个图形。图形由通过分支连接的节点(例如NodeTypeA,NodeTypeB)组成。两个通用元素(节点和分支将具有属性)。一个图形将被发送到一个计算引擎。要执行计算,引擎必须如此初始化(简化的伪代码): Engine Engine = new Engine(); 对象ID1 = Engine.AddNodeTypeA(TypeA.Property ..

Angular2 - 项目结构

我将开始一个新的 Angular2 项目,我试图了解一个 Angular2 应用程序的最佳结构。让我有页面作为首页,自动画廊,最近画廊,品牌,汽车和选择车 。导航顺序是 home - >自动画廊 - >最近的画廊 或 home - >品牌 - >汽车 - > selected-car 为了最好的方法,我应该为每个页面使用组件或模块吗?如果模块 ..
发布时间:2017-05-16 19:48:33 软件设计

如何解除窗口小部件的模型/视图

我正在编写一个应用程序,用于绘制小部件/菜单/控件等,以创建应用程序模型。每个屏幕都被表示为小部件的集合,每个小部件都是简单的类例如 类模型(对象): def __init __(self): self.widgets = [] class Widget(object): def __init __(self): self.x,self。 y = 0,0 self.w,s ..
发布时间:2017-05-16 19:45:56 软件设计

外墙是否利用开放原则?

开放式的维基百科页面(截至今天2013-02-27)封闭原则说,它是通过继承实现的。 打开/关闭原则的名称有两种使用方式。两种方式都使用继承来解决明显的困境,但目标,技术和结果是不同的。 两种方式“是指Meyer的实现继承和更常见的多态扩展。 无论如何,我的问题是关于外墙模式,其中不使用继承。由于它以简单的界面定义了一个更复杂的子系统(或库)的抽象,这不能被视为开放原则吗?更具体 ..

为什么人们不做WSDL第一?

我们正在使用 WSDL + XSD-first 方法创建我们的服务,我们首先创建(借助于工具)XSD模式和WSDL,然后将它们编译为.NET和Java类进行互操作。 我想证明为什么我们使用这种方法。我提到它更符合OOP(首先定义接口,然后实现,而不是反之亦然),并且您可以更好地控制互操作性限制。此外,您可以明确定义命名空间,并帮助在应用程序之间重用XSD 相反,今天仍然有很多人喜欢在他 ..
发布时间:2017-05-16 19:43:28 软件设计

我应该在ASP.NET MVC中使用区域还是RenderAction?

我在这里只读了一些关于迄今为止的区域,并没有实际使用它们。对于RenderAction而言,它是一样的,但是我遇到一个问题,我想分离所有页面中正在使用的页面的某个部分,但是它具有自己的功能。使用webforms我只是使用一个控件。使用MVC我倾向于RenderAction方法,然后bam今天v2预览1出来与“区域”支持。 RenderAction从来没有真的像所有的支持被推出到期货项目。 我 ..
发布时间:2017-05-16 19:43:16 软件设计

设计基于权限的安全模型

我正在使用一个vb.net winforms应用程序,我们目前正在使用简单的角色来实现安全。我们根据当前用户是否具有必需的角色来启用/禁用特定控件。我们到了这个不再足够细粒度的地步。 我们的应用程序是基于我们称为站点的不同物理位置。用户可能有权在一个站点而不是其他站点执行某些操作(例如,编辑站点的配置)。因此,我们现在需要根据当前用户和当前站点查找权限。此外,某些用户的权限可能对自己非常具体 ..
发布时间:2017-05-16 19:40:36 软件设计

在多态继承层次中执行类型安全的最佳做法

我似乎遇到了这样的情况,还没有找到一个可以接受的解决方案。 我经常会有并行继承层次结构一个层次结构中的方法作为参数从其他层次结构中传递匹配的类。 这是一个可能更好的解释这个例子。 抽象类Animal { public virtual void Eat(Food f) { } 抽象类食物 { } class LionFood:食物 { } cl ..
发布时间:2017-05-16 19:40:22 软件设计

门面与商务代表模式的区别

门面与业务委托设计模式有什么区别?不是用来隐藏客户端的业务逻辑吗? 解决方案 代表团站在客户端和实际执行之间,通常从客户端隐藏/过滤/增强实现的某些功能。 Facade正在提供一个课程粒度的API,隐藏更复杂的逻辑和/或协调,通常捆绑几个一起工作的实现,通常为客户端提供便利。 来自java的每个示例: 委托: Collections.unmodifiableList()返 ..
发布时间:2017-05-16 19:37:48 软件设计

谁负责下一个视图?

在一个典型的MVC架构师中,逻辑在哪里,决定了下一个显示哪个视图? 假设是某种具有多个视图(Windows)的应用程序,根据用户操作可能在不同时间可能看不到或可能不可见。例如,有时候,应用程序可能需要用户填写附加细节的表单,其他时候可能不会。控制者有责任要求一个特定的视图变得可见吗? 我在想这个错误?也许控制器确定哪个控制器应该控制,视图只是根据哪个控制器活动更新? 我很困惑。 ..

Web服务“强制/可选”字段:XSD设计时间与运行时间

我们正在构建一堆SOAP Web服务,以便前端各种后台系统的访问。 在定义我们的请求/响应消息XML时,我们看到需要使用不同“强制/可选”字段的“帐户”对象的多个服务。 我们应该如何定义和强制对同一消息中的这些“强制性/可选”字段进行验证?我看到这些选项 1)通过创建不同的“帐户”复合体类型强制执行XSD验证: 设计时间清晰度 缺点:对象类型的扩散,对象的重用次数 ..
发布时间:2017-05-16 19:36:32 软件设计

“战略设计模式”不仅仅是基本使用多态吗?

在策略设计模式中,我们所做的是 创建一个通用界面。 使用具有覆盖方法的界面实现一组类。 让运行时间为具有相同类型的对象选择实际的类使用该通用接口并调用可以根据类正确解析的重写方法。 我的问题是,不是多态的基本例子和覆盖我们学习的方法吗? 除了使用抽象类的可能性之外,替换公共接口 解决方案 你所描述的是一种实现策略模式的方法。您还描述了如何实现大量不同的设计,因为我们可 ..

如何将特定属性设置为由抽象工厂创建的类?

使用抽象工厂模式,有可能让具体的工厂为他们创建具有类型特定参数的具体类吗?或者由各自的具体工厂创建的不同具体类别需要具有相同的字段? Ex)在下面的图片中,您将如何实例化WinButton和OSXButton与客户端(应用程序)给出的不同参数集? 解决方案 这不容易,没有更多的细节。我会做的一件事是尝试将参数传递给具体工厂类的构造函数。对于不同的争论,你必须创建不同的工厂实例,这可能 ..

长寿的RESTful交互

我们目前在我的团队中进行了一个讨论,我对其他观点也感兴趣。假设我们有一个RESTful Web服务,它的作用是通过应用各种分析算法和服务对文档进行注释。明确的基本互动:我们有一个资源是文件收集;客户端向集合发送一个新文档,获取新文档的URI,然后可以获取 docURI 以获取文档或GET {docURI} / metadata 可查看一般元数据 {docURI} / ne 等命名实体等。问题是一些 ..
发布时间:2017-05-16 19:33:42 软件设计

用案例选择

请考虑: 子集[Flatten [ParallelTable [{i,j},{i,1,96} {j,1,4}],1],{4}] 我需要选择所有子列表使得i值在每个子列表中从不相同4 {{3,1},{4,1},{5,1} {{1,1},{1,2},{2,3},{6,1}}应该被拒绝接受{6,1}}。我的价值1被重复了2次。 我知道我可以用Cases来做 ..
发布时间:2017-05-16 19:33:03 软件设计

EF / Silverlight应用程序的项目结构

我目前正在为3层解决方案寻找一个很好的项目结构,以避免在一个新项目中出现不必要的工作。 该项目将包含一个核心具有 的模型项目,其中包含具有业务的EF代码第一模型 项目客户端上的 存储库项目中的逻辑和通信逻辑 具有视图和视图模型的silverlight项目(想要使用caliburn.micro这里) 现在的问题是,客户可能会有一些特殊要求,可能导致上述所有项目的变化。所以我的 ..