在这种情况下有没有办法完全避免重复代码?
Is there a way to cleanly avoid duplicate code in this instance?
我正在 android 与 Java 合作,我正在实施模型-视图-演示器架构。玩家可以玩两种类型的游戏:
- 游戏A
- 游戏 B
这两款游戏非常相似,但各有各自的 .class 文件和(例如 GameA.class 和 GameB.class)。
在这两种情况下,它们各自的呈现器是相同的,唯一改变的是模型的实例化和声明class。例如:
GameAPresenter.class:
class GameAPresenter{
private GameA game;
// other stuff here that happens in both presenters
GameAPresenter(int par1, int par2){
this.game = new GameA(par1, par2);
//other stuff here that happens in both presenters
}
}
GameBPresenter.class:
class GameBPresenter{
private GameB game;
// other stuff here that happens in both presenters
GameBPresenter(int par1, int par2){
this.game = new GameB(par1, par2);
//other stuff here that happens in both presenters
}
}
有什么方法可以完全避免重复代码,由单行注释模拟?
如果我能让两个模型共享一个演示者,那就更好了。
您将要创建一个通用 Game
class,然后 GameA
和 GameB
都可以继承。
同样可以与 GamePresenter
一起使用,创建一个通用的 GamePresenterA
和 GamePresenterB
可以继承的。您也可以在每次创建它的新实例或调用某个方法时给 GamePresenter
一个 Game
。这样就可以有一个 GamePresenter
并且它可以用任何 Game
来呈现它。
我正在 android 与 Java 合作,我正在实施模型-视图-演示器架构。玩家可以玩两种类型的游戏:
- 游戏A
- 游戏 B
这两款游戏非常相似,但各有各自的 .class 文件和(例如 GameA.class 和 GameB.class)。
在这两种情况下,它们各自的呈现器是相同的,唯一改变的是模型的实例化和声明class。例如:
GameAPresenter.class:
class GameAPresenter{
private GameA game;
// other stuff here that happens in both presenters
GameAPresenter(int par1, int par2){
this.game = new GameA(par1, par2);
//other stuff here that happens in both presenters
}
}
GameBPresenter.class:
class GameBPresenter{
private GameB game;
// other stuff here that happens in both presenters
GameBPresenter(int par1, int par2){
this.game = new GameB(par1, par2);
//other stuff here that happens in both presenters
}
}
有什么方法可以完全避免重复代码,由单行注释模拟? 如果我能让两个模型共享一个演示者,那就更好了。
您将要创建一个通用 Game
class,然后 GameA
和 GameB
都可以继承。
同样可以与 GamePresenter
一起使用,创建一个通用的 GamePresenterA
和 GamePresenterB
可以继承的。您也可以在每次创建它的新实例或调用某个方法时给 GamePresenter
一个 Game
。这样就可以有一个 GamePresenter
并且它可以用任何 Game
来呈现它。