我们如何有效地将面向对象性、可扩展性和模块化应用于简单程序?如果是应用程序,我可以识别实体及其之间的关系。当涉及到简单的程序时,我无法做到这一点。
请帮助我在链接中的柏林时钟程序中实现面向对象、可扩展性和模块化。
http://technologyconversations.com/2014/02/25/java-8-tutorial-through-katas-berlin-clock-easy/
提前感谢。
以下是我如何解决问题
- 面向对象性首先,找出问题中涉及的所有实体。然后将它们积分为类。例如,在这种情况下,时钟基于不同的灯及其相互通信来显示实际时间
因此,我将Light视为一个抽象类,并从这个抽象Light类继承不同的其他灯光(例如,RedLight、YelloLight等)并对其进行扩展。
- 可扩展性
始终使用接口,而不是直接访问类。通过这种方式,你可以替换或扩展你的类
- 模块性
将您的模型(类)、业务逻辑、UI逻辑等分离在不同的类库(或单独的项目)中。
希望这个简单的解释能有所帮助。