假设我正在创建一个表示分数的Objective-C类,并希望创建不可变和可变版本。根据Foundation框架中的模式,您可能会在不可变版本中看到
我遇到的悖论是如何在两个类之间仅包含一次分数添加逻辑。似乎不可变的
欢迎进一步阐述这个简化示例!
fractionByAddingFraction:
方法,在可变版本中看到addFraction:
方法。我遇到的悖论是如何在两个类之间仅包含一次分数添加逻辑。似乎不可变的
fractionByAddingFraction:
方法需要了解(并利用)可变的addFraction:
方法,以避免代码重复,但是在不可变类的实现中包含可变方法意味着它们可能会在不可变对象上调用,这与设计思路背道而驰。欢迎进一步阐述这个简化示例!