strategy-pattern

    -1热度

    1回答

    我找不到服务对象设计模式的任何定义。 的事务脚本设计图案 通过组织设备程序的业务逻辑,其中每个过程处理从呈现的单个请求。 的战略设计模式 定义一系列的算法,封装每一个,使得它们可以互换。策略可以让算法独立于使用它的客户端。 它们是否相似?

    1热度

    3回答

    我想设计一个系统,允许用户从文件类型列表中进行选择以将文件保存为。我有一个名为Word的类,和一个名为SaveFileType的接口。每个文件类型都实现具有saveFile()方法的SaveFileType。这个想法是,当'程序员'想要添加一个新的文件类型时,应用程序中的代码都不需要改变。 这是UML图我已经作出: ,我面对的是Word类不具有所有可用的文件类型列表中,我需要显示给用户的问题。 一

    2热度

    1回答

    我正在寻找一种已知方法(如果有)将长条件表达式拆分为独立语句。 例如,我有这样的长期表现: *IF ( (*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python' *OR *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java') *AND (*VALUE K01_PRO

    1热度

    1回答

    在计算机编程中,策略模式(也称为策略模式)是一种行为软件设计模式,可以在运行时选择算法的行为。 策略模式... 定义了一系列的算法。 封装每个算法。 使算法在该系列内可互换。 (来源:Wikipedia) 在我的情况,我希望能够以不同的散列算法注入的服务。 C#有几个散列算法,从HashAlgorithm派生,如: MD5 SHA256Managed RIPEMD160Managed 鉴于这个层次

    0热度

    1回答

    我正在编写一些Java代码,如果发现异常,我想循环回到较早的方法。 这里是一个简化版本的我的代码: public class classA { public static void main(String[] args) { int number1 = askUserForFavoriteSum(); int number2 = askUserFor

    1热度

    2回答

    public interface FileReader { void readFile(); void writeFile(); } public class XMLReader implements FileReader { @Override public void readFile() { System.out.println("

    0热度

    2回答

    删除重复的代码,最有效的方法我们有3种在我们的项目属性:的CategoryAttribute,ProductAttribute和ProductTypeAttribute。这些不在我们的控制范围之内,因为它们来自自动生成的类,并且可能包含不同类型的属性值,例如text,number or image。现在,每个属性都有自己的策略来检索attributeValue。为简单起见,我们假设他们全部3个都有

    4热度

    4回答

    我正在开发一个侧面项目,以便更好地理解控制和依赖注入的反转以及不同的设计模式。 我想知道是否有使用DI的工厂和战略模式的最佳实践? 我的挑战来自何时一个策略(由工厂构建)需要不同的参数为每个可能的构造函数和实现。因此,我发现自己在服务入口点声明所有可能的接口,并通过应用程序传递它们。因此,必须为新的和各种策略类实现更改入口点。 为了下面的说明,我已经组合了一个配对的例子。我的这个项目的堆栈是.NE

    0热度

    1回答

    我正在开发一个web应用程序项目,该项目需要我重构文件上传功能。我们的文件上传功能支持多种上传文件源,例如git repo,nexus URL,zip文件我们也希望在未来支持更多的perforce。在当前的实现中,应用程序有多个端点来处理不同的方法,如getNexusFile(),getGitFile(),getZipFile();在每种方法下,都有从指定源检索文件的实现。 我的想法是通过使用策略

    0热度

    2回答

    我可以使用策略模式来实现以下逻辑: 所以,想象学费是根据学生的整体表现来计算的,例如,如果学生有一个整体平均分大于70分,他的学费将减少70%。依此类推。如果平均分为50折优惠,其他情况下不予折扣。所以有不同的策略来计算折扣,这取决于平均分。 如何在Java代码中实现这一点? 我想会有学生类,将有方法来计算平均分,界面TuitionFeeCalculator和三种策略:70persentDisco