我有一些算法要做的非常相似,但都是不同的.
我会尝试举例说明我的意思.
我们假设我有一个Robot类.这个类应该是所有类的"基础".它提供了使机器人在其环境中工作的基本机制.它可能或不必单独工作(我的意思是它可以是一个抽象类,它本身是无用的,或者如果可能的话,让基础机制准备工作).
所有机器人都有手.但是有些机器人会有类似人的手,其他人会有刀片,其他人会有剃须刀.我可以做一个名为RobotBase的基类,然后创建RobotHumandHand,RobotBladeHand和RobotRazorHand.但是它们也可以有不同的头,不同的眼睛,不同的腿,不同的手臂等.有什么简单的方法可以解决这个问题吗?我想把它放在有点像乐高的方式,所以我可以定义一个机器人并"添加"我想要的部分.也许通过接口?我甚至不知道这些是否存在于python中(这是我将要使用的语言).
任何意见/建议真的很感激!谢谢!
我可能会遇到这样一个问题的设计模式是:依赖注入和一个框架,复合模式和Builder模式.它们基本上应该让您将机器人的创建与其使用分开.