又称最小知识原则,如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用,其目的是降低类之间的耦合度。通俗的讲是:与你的直接朋友交谈,不跟“陌生人”说话。
迪米特法则中的“朋友”是指:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等,这些对象同当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法。
迪比特法则应当是双向的:
列举一些工作中实际碰到的,会随时补充其他规则:
原始实现
public class Transformer {public Transformer(List<String> columnList, int []data, String dateColumn) {//具体代码省略}public void transform() {//具体代码省略}public process() {//具体代码省略}
}public class ComputeDiff extends Transformer {public void transform() {//具体代码省略}
}public class OneHot extends Transformer {public void transform() {//具体代码省略}
}
说明:
调整后的代码
public class Transformer {public Transformer(List<String> columnList) {//具体代码省略}public void transform(int []data) {//具体代码省略}public process() {//具体代码省略}
}public class ComputeDiff extends Transformer {public ComputeDiff(List<String> columnList, String dateColumn) {super(columnList);//具体代码省略}public void transform(int []data) {//具体代码省略}
}public class OneHot extends Transformer {public void transform(int []data) {//具体代码省略}
}
本文发布于:2024-02-02 06:08:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170682528141869.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |