想象一下一种情况,我们正在使用一个允许您创建Circle
对象的库,您可以在其中指定半径和圆心来定义它。但是,由于某些原因,它也需要一个必需的flavour
参数。现在,我们确实需要Circle
在自己的应用程序中使用,但是出于我的应用程序的目的,我可以将风味设置为Flavours.Cardboard
每次。
为了“解决”这一问题,我Circle
在另一个命名空间中创建了自己的类,该命名空间仅将radius
和center
作为参数,但具有一个隐式转换器,可以直接转换为Circle
仅创建Circle(this.radius, this.center, Flavours.Cardboard)
对象的外部库类。因此,在任何需要其他类型的的地方Circle
,我都会进行自动转换。
创建这样一个类的后果是什么?有更好的解决方案吗?如果我的应用程序是在此外部库的基础上构建的供其他程序员使用的API,会有所不同吗?
这似乎是Adapter Pattern的一种变体,尽管在这里似乎具有可疑的价值(这只是避免设置参数的一种便利)。
—
罗伯特·哈维
为什么不创建
—
user253751 '16
MakeCircle
函数?
@immibis Thay是我的第一个念头。在制作游戏时,我通常会按照
—
Carcigenicate's
makePlayer
自己的方式创建一个函数,该函数仅接受坐标以将玩家放置在其上,但委托给一个更为复杂的构造函数。