有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于SOLID的java冗余

根据SOLID,你应该按功能还是按类别消除冗余

例如,如果我们有三个类,每个类都包含String filepath = "..."作为成员变量,那么创建一个新类(即Settings.javafilepath作为成员变量)会更好吗?还是最好在它所属的每个类中保留filepath3次,以便每个类都对自己的属性承担全部责任


共 (2) 个答案

  1. # 1 楼答案

    我还认为,你提供的信息太少,无法理解什么是最好的

    我不记得坚实的原则说过冗余本身,但有干燥的原则

    我对冗余的发现是,如果你在多个地方做一件事,如果你需要改变它,你必须记住更新所有正在做的地方。如果你忘记了一个地方,你的系统中就会出现不一致的情况,至少有两种方法(概念上)做同一件事

    这通常会导致不容易找到的bug

    当然,这很容易解决,只是没有冗余;在做一些事情之前,看看你的系统中是否已经有了这些功能,如果没有,寻找一些相关的功能,并尝试对其进行概括

  2. # 2 楼答案

    "Would it be better to create a new class, i.e. Settings.java with filepath as a member variable"

    不,我不认为那样更好。没有更多细节,这很困难,但我可能会创建一个名为ISettings之类的接口,并使用DI将其注入必要的类中

    我认为这会更符合SOLID