我在想什么OOD设计模式?

时间:2016-04-27 13:49:29

标签: java oop design-patterns

我正在尝试构建一个只能由GameController修改的类,但可以访问任何类。我应该研究什么设计模式来实现这个目标?

*我在Java中构建它,GameController是我的Main类。所以,我无法在GameController类中创建私有实例。希望就是那么简单。

3 个答案:

答案 0 :(得分:2)

没有"设计模式"为了那个原因。相反,您只需使用Java的访问修饰符,通过提供public getter但仅使用 package-private setter或其他mutator方法(假设GameController使用的类是在同一个包中。)

答案 1 :(得分:0)

您可以创建一个界面层次结构,其中顶级是只读的,下一级是添加setter。 该类实现了读写接口。 控制器获取具有可写接口的实例,所有其他实例都使用只读接口。

答案 2 :(得分:0)

但是可以访问任何课程吗? 我认为你在这里尝试实现的是每个类访问和共享Controller类的相同实例。你可以使用mvc模式,但如果你为时已晚,需要以某种方式共享相同的实例,你可以使用单一模式

public class getGame{

private static GameController gameController;

public static GameController  getController(){

if(gameController==null){
gameController = new GameController();
}

return gameController;
}

}

您不必担心在上面的类上创建实例,因为每个字段都标记为静态。