设计模式运用不当问题:Java Singleton 和 Single Responsibility Principle 误用示例
Singleton和Single Responsibility Principle(SRP)是两种常见的设计模式,如果误用可能会导致代码难以维护和理解。以下是具体的示例:
Singleton误用:
// 错误的Singleton实现
public class Singleton {
private static Singleton instance = new Singleton(); // 单例内部的实例化
// 错误的方法,试图获取唯一的实例
public static Singleton getInstance() {
return instance;
}
}
这样的代码不仅违背了单例模式的初衷(保证类只有一个实例),还使得代码难以理解和维护。
Single Responsibility Principle (SRP) 误用:
// 错误的类,同时负责多种功能
public class MultiFunctionalClass {
private List<String> names; // 名字列表
private int age; // 年龄
// 错误的方法,用于添加新的名字
public void addName(String name) {
names.add(name);
}
// 错误方法,用于获取当前的年龄
public int getAge() {
return age;
}
}
这样的类违反了SRP原则,即每个类都应该有一个单一的责任。在上述例子中,
MultiFunctionalClass
负责添加和获取名字等多项功能,违背了单一职责的原则。
综上所述,对于设计模式的运用,应充分理解其原则和应用场景,并避免因误用而导致的问题。
还没有评论,来说两句吧...