我的大学也有类似的有趣任务.例如,有ClassA.我需要限制对象的访问权限,如果今天是星期天客户端无法生成ClassA对象或使用现有的ClassA对象.我想我需要为类创建一些包装器,否则我需要在ClassA的每个方法中检查一天的条件.是否有任何设计模式?拜托,我希望你能帮助我.
工厂模式是您正在寻找的.您将参数传递给工厂类("包装器"),它负责创建正确类型的对象.例如:
class ClassA implements MyInterface { ... }
class ClassB implements MyInterface { ... }
class MyFactory {
public MyInterface create(int dayOfTheWeek) {
if (dayOfTheWeek == 0) {
return new ClassA();
} else {
return new ClassB();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当您需要一个新对象时,MyFactory会决定实际的类:
MyFactory factory = new MyFactory();
MyInterface object = factory.create(dayOfTheWeek);
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |