软件设计

责任模式链

有人可以简单地解释责任模式链吗?我发现wiki文章有点混乱。 解决方案 一个很好的例子是 java servlet过滤器 - 在HTTP请求到达目标之前执行的代码段。 链包含多个实例,每个实例都执行不同的操作 链中的每个实例可以选择传播到下一个例子,或者停止流程 所以,使用servlet过滤器,你可以有 一个过滤器,用于检查用户是否经过身份验证。如果他是,则过滤器传播到 ..
发布时间:2017-05-16 20:11:23 软件设计

如何设计一个非面向对象的UML类图?

我在ABAP中编码,并实现了一个模板方法模式。我喜欢为此绘制一些UML类图。在UML中为这个类做的没有问题。但是我的课程是在一个功能模块(SAP特定术语)中实现的,它就像一个独立的方法,用于使实现可用于远程过程调用。 那么在一个图表中获得非oo函数modo和oo类的最佳可能性是什么?有任何想法吗? 编辑:是否允许混合组件和类图? 解决方案 p>使用一个(静态)方法将每个函数视为一 ..
发布时间:2017-05-16 20:10:38 软件设计

OO设计 - 将特定于实例的功能与特定于类的功能分离

给定一个语义上应该是某个类型的对象的类,但是也有多个操作用于在其自己的类型的对象上操作,最好的方式是什么在这种情况下组织课堂?我发现这是一个常见的事情,当一个开发人员创建对象,但正在考虑一个程序的心态。 示例: Class $ { private m_userData; 函数User(){} 函数GetUserData(){} 函数KillAllUsers(){} 函数M ..
发布时间:2017-05-16 20:09:56 软件设计

在Scala的请求响应消息传递设计中输入继承误解

我正在尝试用Scala制作一个小型的邮件系统。 我不知道如何解决这个类/类型/泛型/层次结构问题符合// PROBLEM 逻辑是:请求有一个到达时响应函数调用的列表。当响应到达getResult被调用并使用模式匹配时。似乎我无法从Request中的列表中调用可以被Response的任何子类重载的函数? 对象工作表{ class Request { // var op = List ..
发布时间:2017-05-16 20:08:49 软件设计

综合与战略相结合

我正在寻找一个例子,展示如何组合这2种设计模式(战略与综合)。我知道如何使用Strategy,但Composite对我来说还不够清楚,所以我看不出如何组合它们。有人有例子或smthg吗? 干杯 解决方案 好的,这是一种方法,蓝色(伪Java代码): 界面TradingStrategy { void buy(); void sell(); } class Hedg ..
发布时间:2017-05-16 20:07:06 软件设计

接口和匈牙利语表示法

请看下面的问题: DataAccess项目中的类的命名约定是什么? JDK谈到使用命名空间分隔数据逻辑层和业务逻辑层,而不使用匈牙利的名义接口例如IPersonDAL用于数据访问层。我在下面的代码中遵循了这个回答者的建议: 导入com.app.BusinessLogicLayer.Interfaces 导入com.app.DataLogicLayer.Interfaces 命名空间 ..
发布时间:2017-05-16 20:04:14 软件设计

在哪里保留验证逻辑

应用程序中哪里应该有验证逻辑? 我有一个小应用程序允许将新产品嵌入应用程序数据库。产品名称不同,产品名称,订单号,描述等不同的产品可以插入新产品,更新现有产品。因此,当插入新产品时,所有字段都必须被验证,但是当现有产品被更新时,只有正在更新的字段才需要被验证,也就是仅仅是描述被更新,所以只有该字段才能被验证。 p> 我想到一个抽象类和两个具体类,用于完整和部分产品验证器,每个类都有自己 ..
发布时间:2017-05-16 20:04:02 软件设计

复合模式对简单继承的好处

我想说明我们要实现一个文件系统。 所以基本上我们需要文件和文件夹。 我们可以使用复合模式,而文件和文件夹类继承基础界面和文件夹 class持有一个接口类型集合。 但是,对于简单的继承来说,这看起来像(对我来说),继承也可以做同样的事情。 如果文件是根类,文件夹继承自文件,文件夹可以收藏文件 s,故事结尾。 我是否缺少某些东西? 解决方案 如果File是根类和文件夹继承 ..
发布时间:2017-05-16 20:02:15 软件设计

有没有一种简单的方法来编码ANSI C中的策略(或其他)设计模式,这将适合11“ MacBook Air?

似乎ANSI C中的OO不是今天对OO的青睐的方法。有没有人知道使用严格的ANSI C来编写一个简单的设计模式的方式,所以我可以向朋友证明这是可能的(Axel-Tobias Schreiners的书让我进行这个!) 解决方案 使用C的OO可以使用函数指针来实现,如在这个SO问题。 使用该帖子的信息,以下是我将如何使用基本继承在C中实现Strategy模式。 让我们使用以下C + ..
发布时间:2017-05-16 20:00:32 软件设计

React / Redux概念与服务器呼叫请求

我想知道在数据库中使用大状态(存储)和sql请求之间最好的设计方法是什么。 假设你有一个Todo CRUD应用程序。您可以在Redux实现中将Todos列表保存在存储中。如果您想对这些TODO进行复杂的统计信息,最好的方法是:减少或sql请求? 例如,要获取当前月份的所有todos: 减少/存储方法 您可以从商店获取所有的todos列表,并按日期过滤todos以获取所有todo ..

如何在OOP中设计嵌套多态?

假设我们在网上商店有一个简单的付款功能。我们希望通过不同的交易处理器管理不同的交易: 交易可以是付款或退款。 交易处理器可以是PayPal或Payplug。 所以我们有以下类: 类PaymentTransaction实现Transaction { } class RefundTransaction实现事务{ } class PaypalProcessor ..
发布时间:2017-05-16 19:59:22 软件设计

为什么抽象工厂处理家族和工厂方法生成单个对象?

从我所看到的,抽象工厂模式通常关注自己创建几个与同一个系列相关联的对象,而工厂方法模式也涉及生成单个对象。 考虑以下示例,它会翻转这些问题: //工厂方法(基类)允许用于创建对象的家族 public class BasePizzaCreator { abstract ISauce CreateSauce(); abstract IToppings CreateToppings ..
发布时间:2017-05-16 19:58:39 软件设计

使用多个提供商的客户端应用程序使用什么设计/模式?

这是一个设计相关的问题。 说我们有一个名为ClientAPI的公共API,有几个Web方法,如CreateAccount,GetAccount 。根据客户的不同,我们使用不同的供应商来满足这些要求。 所以说我们有ProviderA和ProviderB和ProviderC。 ProviderA具有仅需要(Firstname,Lastname)的CreateAccount的方法签名/ ..

控制器在MVC设计模式

我想问一下在MVC中为什么我们需要controller.why我们不直接连接模型和查看。如果我们没有控制器会是什么问题? 解决方案 分离问题,使程序更易维护,并允许我们在系统的不同部分添加更多功能,而不会破坏其他部分因为彼此独立... https://en.wikipedia.org / wiki / Separation_of_concerns 所以如果你的域的代码和如何给予视图 ..
发布时间:2017-05-16 19:54:02 软件设计

不清楚如何实现依赖注入

假设我有一个LoginView及其数据上下文LoginViewModel,需要注入一个可以根据用户名/密码验证用户的服务。 现在让我们说应用程序的状态是有人已经登录,但现在他们正在注销,我需要重新显示下一个用户的登录屏幕。所以在这一点上,我需要一个我的LoginViewModel的一个实例,但是我不知道该怎么做。 我应该将一个LoginViewModel注入到我的ShellViewMo ..
发布时间:2017-05-16 19:52:01 软件设计