软件设计
有人可以简单地解释责任模式链吗?我发现wiki文章有点混乱。 解决方案 一个很好的例子是 java servlet过滤器 - 在HTTP请求到达目标之前执行的代码段。 链包含多个实例,每个实例都执行不同的操作 链中的每个实例可以选择传播到下一个例子,或者停止流程 所以,使用servlet过滤器,你可以有 一个过滤器,用于检查用户是否经过身份验证。如果他是,则过滤器传播到
..
我在ABAP中编码,并实现了一个模板方法模式。我喜欢为此绘制一些UML类图。在UML中为这个类做的没有问题。但是我的课程是在一个功能模块(SAP特定术语)中实现的,它就像一个独立的方法,用于使实现可用于远程过程调用。 那么在一个图表中获得非oo函数modo和oo类的最佳可能性是什么?有任何想法吗? 编辑:是否允许混合组件和类图? 解决方案 p>使用一个(静态)方法将每个函数视为一
..
给定一个语义上应该是某个类型的对象的类,但是也有多个操作用于在其自己的类型的对象上操作,最好的方式是什么在这种情况下组织课堂?我发现这是一个常见的事情,当一个开发人员创建对象,但正在考虑一个程序的心态。 示例: Class $ { private m_userData; 函数User(){} 函数GetUserData(){} 函数KillAllUsers(){} 函数M
..
我正在尝试用Scala制作一个小型的邮件系统。 我不知道如何解决这个类/类型/泛型/层次结构问题符合// PROBLEM 逻辑是:请求有一个到达时响应函数调用的列表。当响应到达getResult被调用并使用模式匹配时。似乎我无法从Request中的列表中调用可以被Response的任何子类重载的函数? 对象工作表{ class Request { // var op = List
..
假设我正在创建一个运动游戏,在这个游戏中,玩家可以玩各种各样的位置,攻击,防御等。 所以我首先创建一个基础类: public abstract class Position { public abstract string Name { get; } } 和子类... public class Defender:Position { p
..
我正在寻找一个例子,展示如何组合这2种设计模式(战略与综合)。我知道如何使用Strategy,但Composite对我来说还不够清楚,所以我看不出如何组合它们。有人有例子或smthg吗? 干杯 解决方案 好的,这是一种方法,蓝色(伪Java代码): 界面TradingStrategy { void buy(); void sell(); } class Hedg
..
我想知道如何将状态添加到消费者可用的装饰器链中。给定这个简化的模型: 抽象类AbstractPizza { public abstract print(...); } class Pizza:AbstractPizza { public int Size(get; set;) public print(...); } 抽象类AbstractPizzaDecorator
..
请看下面的问题: DataAccess项目中的类的命名约定是什么? JDK谈到使用命名空间分隔数据逻辑层和业务逻辑层,而不使用匈牙利的名义接口例如IPersonDAL用于数据访问层。我在下面的代码中遵循了这个回答者的建议: 导入com.app.BusinessLogicLayer.Interfaces 导入com.app.DataLogicLayer.Interfaces 命名空间
..
应用程序中哪里应该有验证逻辑? 我有一个小应用程序允许将新产品嵌入应用程序数据库。产品名称不同,产品名称,订单号,描述等不同的产品可以插入新产品,更新现有产品。因此,当插入新产品时,所有字段都必须被验证,但是当现有产品被更新时,只有正在更新的字段才需要被验证,也就是仅仅是描述被更新,所以只有该字段才能被验证。 p> 我想到一个抽象类和两个具体类,用于完整和部分产品验证器,每个类都有自己
..
我想说明我们要实现一个文件系统。 所以基本上我们需要文件和文件夹。 我们可以使用复合模式,而文件和文件夹类继承基础界面和文件夹 class持有一个接口类型集合。 但是,对于简单的继承来说,这看起来像(对我来说),继承也可以做同样的事情。 如果文件是根类,文件夹继承自文件,文件夹可以收藏文件 s,故事结尾。 我是否缺少某些东西? 解决方案 如果File是根类和文件夹继承
..
下图是复杂算法的简单部分。 我尝试根据算法准备一些类。 抽象类Person { public string HasXRecords {get;组; } public int PersonAnotherFeature {get;组; } public List Xs {get;组; } = new List(); } 抽象类X { //将有超过1000
..
似乎ANSI C中的OO不是今天对OO的青睐的方法。有没有人知道使用严格的ANSI C来编写一个简单的设计模式的方式,所以我可以向朋友证明这是可能的(Axel-Tobias Schreiners的书让我进行这个!) 解决方案 使用C的OO可以使用函数指针来实现,如在这个SO问题。 使用该帖子的信息,以下是我将如何使用基本继承在C中实现Strategy模式。 让我们使用以下C +
..
我想知道在数据库中使用大状态(存储)和sql请求之间最好的设计方法是什么。 假设你有一个Todo CRUD应用程序。您可以在Redux实现中将Todos列表保存在存储中。如果您想对这些TODO进行复杂的统计信息,最好的方法是:减少或sql请求? 例如,要获取当前月份的所有todos: 减少/存储方法 您可以从商店获取所有的todos列表,并按日期过滤todos以获取所有todo
..
假设我们在网上商店有一个简单的付款功能。我们希望通过不同的交易处理器管理不同的交易: 交易可以是付款或退款。 交易处理器可以是PayPal或Payplug。 所以我们有以下类: 类PaymentTransaction实现Transaction { } class RefundTransaction实现事务{ } class PaypalProcessor
..
从我所看到的,抽象工厂模式通常关注自己创建几个与同一个系列相关联的对象,而工厂方法模式也涉及生成单个对象。 考虑以下示例,它会翻转这些问题: //工厂方法(基类)允许用于创建对象的家族 public class BasePizzaCreator { abstract ISauce CreateSauce(); abstract IToppings CreateToppings
..
这是一个设计相关的问题。 说我们有一个名为ClientAPI的公共API,有几个Web方法,如CreateAccount,GetAccount 。根据客户的不同,我们使用不同的供应商来满足这些要求。 所以说我们有ProviderA和ProviderB和ProviderC。 ProviderA具有仅需要(Firstname,Lastname)的CreateAccount的方法签名/
..
情景: 我已经用尽了这个问题的资源,所以我必须向社区提交一个问题。 在我的urls.py文件中,我有一个模式,如: url(r'^ entry_form / (?P \d +)/',SheetWizard.as_view([Sheet1,Sheet2,Sheet3])), 当用户访问像“127.0.0.1/myapp/entry_form/77
..
我有以下模型 class MyClass { id someRandomString } 我想将POJO作为...返回客户端。 if + randomstring 基本上,我正在处理一个面向消息的服务,所以我需要包装和转换模型出站的XML格式...输入端也一样
..
我想问一下在MVC中为什么我们需要controller.why我们不直接连接模型和查看。如果我们没有控制器会是什么问题? 解决方案 分离问题,使程序更易维护,并允许我们在系统的不同部分添加更多功能,而不会破坏其他部分因为彼此独立... https://en.wikipedia.org / wiki / Separation_of_concerns 所以如果你的域的代码和如何给予视图
..
假设我有一个LoginView及其数据上下文LoginViewModel,需要注入一个可以根据用户名/密码验证用户的服务。 现在让我们说应用程序的状态是有人已经登录,但现在他们正在注销,我需要重新显示下一个用户的登录屏幕。所以在这一点上,我需要一个我的LoginViewModel的一个实例,但是我不知道该怎么做。 我应该将一个LoginViewModel注入到我的ShellViewMo
..