调用将由其他用户创建的对象的方法



如何确保我的类能够调用由我定义的方法,而对象将由其他用户定义。

我已经按照适当的设计模式构建了我的代码。在层次结构的顶部有一个抽象类,由几个类扩展,其他用户将能够扩展顶级类。

在工厂类中,顶级类的一些方法是在由我和其他用户创建的类的实例上调用的。但我既不知道这些类是如何被用户调用的,我怎么能在工厂类中调用它们的方法?

  • CarGenerator(上)
  • BlueBiggerCar [extends CarGenerator]
  • SmallGreenCar [extends CarGenerator]
  • RedCar [extends CarGenerator]…

我允许用户添加扩展CarGenerator的新类,并且在作为ScreenFactory的Factory类中,汽车作为示例被处理在屏幕上。

在工厂ScreenFactory中会有如下内容:

new SmallGreenCar().appearOnScreen(); //A small green car appears on the screen.

但是当我的代码发布时,用户将添加新的汽车作为对象,在这种情况下,如果我不能在FACTORY中创建它们的实例,这些汽车如何能够出现在屏幕上?我的代码结构可能是错的,但我不知道如何修复。

这两个设计模式都应该完成以下任务:

  • 模板方法模式或
  • 可扩展性模式框架

相关内容

  • 没有找到相关文章

最新更新