迪米特法则是什么?软件开发模式介绍?

在软件开发中,为了提高软件系统的可维护性和可重用性,增加软件的可扩展性和灵活性,程序员应尽可能按照六条原则开发程序,以提高软件开发效率,节约软件开发成本和维护成本。这六个原则是开闭原则、里希特替换原则、依赖倒置原则、接口隔离原则、迪米特里规则和综合重用原则。下面主要介绍Dimitri规则。

迪米特里定律也被称为知识最少原则。

只和你的直系朋友说话,不要和陌生人说话。

这意味着,如果两个软件实体不需要直接通信,则不应该有直接的相互呼叫,并且呼叫可以通过第三方转发。其目的是减少类之间的耦合,提高模块的相对独立性。

Dimitri定律中的“朋友”是指当前对象本身、当前对象的成员对象、当前对象创建的对象、当前对象的方法参数等。这些对象与当前对象关联、聚合或组合,并且可以直接访问这些对象的方法。

让我们看一个例子来理解迪米特里定律

【示例】明星与经纪人关系示例

由于明星致力于艺术,许多日常事务都由经纪人处理,如与粉丝的会面、与媒体公司的业务谈判等。这里的经纪人是明星的朋友,而粉丝和媒体公司是陌生人,因此适用迪米特里定律。

类图如下:

代码如下:

明星类(Star)

public class Star {

private String name;

public Star(String name) {

this.name=name;

}

public String getName() {

return name;

}

}

粉丝类(Fans)

public class Fans {

private String name;

public Fans(String name) {

this.name=name;

}

public String getName() {

return name;

}

}

媒体公司类(Company)

public class Company {

private String name;

public Company(String name) {

this.name=name;

}

public String getName() {

return name;

}

}

经纪人类(Agent)

public class Agent {

private Star star;

private Fans fans;

private Company company;

public void setStar(Star star) {

this.star = star;

}

public void setFans(Fans fans) {

this.fans = fans;

}

public void setCompany(Company company) {

this.company = company;

}

public void meeting() {

System.out.println(fans.getName() + “与明星” + star.getName() + “见面了。”);

}

public void business() {

System.out.println(company.getName() + “与明星” + star.getName() + “洽淡业务。”);

}

}

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月27日
下一篇 2021年9月27日

相关推荐