设计思想常说将逻辑分离出来。
我有个疑问,
例:我在java中定义一个表示的纯数据类,仅有两个Double类型的值,我需要一些方法(求两坐标直线距离,求一个坐标相对于另一个坐标的角度,将坐标转化为其他坐标系,将坐标转化为数组),这些方法中都是纯运算方法。
我是直接在这个类中定义这些方法,还是重新定义一个helper静态类来定义这些方法?如果直接定义,那么在调用时,可以只需要传入一个值,否则需要传入两个值。在简洁与可读性方面都没有直接在这个类中定义好。在kotlin中可以与java一样先写一个helper类来实现,再些扩展方法来定义这些方法。可是我想知道有必要吗?
以此衍生出一个问题,java/kotlin 传递对象仅仅是传递对象的属性吗?(上面例子中的两个Double)。
在不失去逻辑分离的设计模式下,是否以下才是较好的解决方案,这也是我目前的方式:
java中额外定义一个helper类来实现这些方法,接着在纯数据类导入这个helper类,并声明这些方法调用helper类中的方法?
在kotlin中与java类似,还是先定义一个helper类来实现这些方法,之后再使用扩展方法二次实现。
依此又衍生出一个问题,我如果需要在重写的toString()中使用这些helper中的方法是直接使用吗,这样岂不是增加了耦合程度吗?
希望大神能解决小弟的迷惑。