界面与逻辑分离Java_设计思想之数据与逻辑分离问题?

设计思想常说将逻辑分离出来。

我有个疑问,

例:我在java中定义一个表示的纯数据类,仅有两个Double类型的值,我需要一些方法(求两坐标直线距离,求一个坐标相对于另一个坐标的角度,将坐标转化为其他坐标系,将坐标转化为数组),这些方法中都是纯运算方法。

我是直接在这个类中定义这些方法,还是重新定义一个helper静态类来定义这些方法?如果直接定义,那么在调用时,可以只需要传入一个值,否则需要传入两个值。在简洁与可读性方面都没有直接在这个类中定义好。在kotlin中可以与java一样先写一个helper类来实现,再些扩展方法来定义这些方法。可是我想知道有必要吗?

以此衍生出一个问题,java/kotlin 传递对象仅仅是传递对象的属性吗?(上面例子中的两个Double)。

在不失去逻辑分离的设计模式下,是否以下才是较好的解决方案,这也是我目前的方式:

java中额外定义一个helper类来实现这些方法,接着在纯数据类导入这个helper类,并声明这些方法调用helper类中的方法?

在kotlin中与java类似,还是先定义一个helper类来实现这些方法,之后再使用扩展方法二次实现。

依此又衍生出一个问题,我如果需要在重写的toString()中使用这些helper中的方法是直接使用吗,这样岂不是增加了耦合程度吗?

希望大神能解决小弟的迷惑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值