当前位置: 首页 > news >正文

东莞如何编写网站建设企业免费网站推广公司

东莞如何编写网站建设,企业免费网站推广公司,wordpress目录结构,西安优化网站迪米特法则,也称为最少知识原则(Law of Demeter),是面向对象设计中的一个原则,旨在降低对象之间的耦合性,提高系统的可维护性和可扩展性。该原则强调一个类不应该直接与其它不相关的类相互交互,…

迪米特法则,也称为最少知识原则(Law of Demeter),是面向对象设计中的一个原则,旨在降低对象之间的耦合性,提高系统的可维护性和可扩展性。该原则强调一个类不应该直接与其它不相关的类相互交互,而是通过少数几个密切相关的类来进行通信。这有助于减少类之间的依赖关系,降低代码的耦合性,使得系统更加灵活和易于维护。
迪米特法则的核心思想可以概括为以下几点:

  1. 一个对象应该尽量少地了解其他对象的内部结构和实现。
  2. 一个对象只与其直接朋友(即与其关联最密切的对象)进行交互。
  3. 避免在一个类中引入不必要的依赖关系,尽量保持类之间的解耦。

以下是一个示例代码来说明迪米特法则:
假设我们有一个电商系统,包含了顾客(Customer)、订单(Order)和商品(Product)这三个类。

class Product {private String name;private double price;public Product(String name, double price) {this.name = name;this.price = price;}public double getPrice() {return price;}
}class Order {private List<Product> products = new ArrayList<>();public void addProduct(Product product) {products.add(product);}public double calculateTotalPrice() {double totalPrice = 0;for (Product product : products) {totalPrice += product.getPrice();}return totalPrice;}
}class Customer {private List<Order> orders = new ArrayList<>();public void addOrder(Order order) {orders.add(order);}public void printTotalSpent() {double totalSpent = 0;for (Order order : orders) {totalSpent += order.calculateTotalPrice();}System.out.println("Total amount spent: " + totalSpent);}
}

在这个示例中,迪米特法则的考虑并不充分。例如,在Customer类的printTotalSpent方法中,我们直接访问了Order类的内部结构和Product类的内部结构。这会导致Customer类与Order类和Product类之间存在紧耦合的关系,违反了迪米特法则。

符合迪米特法则的改进示例:

class Product {private String name;private double price;public Product(String name, double price) {this.name = name;this.price = price;}public double getPrice() {return price;}
}class Order {private List<Product> products = new ArrayList<>();public void addProduct(Product product) {products.add(product);}public double calculateTotalPrice() {double totalPrice = 0;for (Product product : products) {totalPrice += product.getPrice();}return totalPrice;}
}class Customer {private List<Order> orders = new ArrayList<>();public void addOrder(Order order) {orders.add(order);}public double calculateTotalSpent() {double totalSpent = 0;for (Order order : orders) {totalSpent += order.calculateTotalPrice();}return totalSpent;}
}class ShoppingCart {private List<Product> products = new ArrayList<>();public void addProduct(Product product) {products.add(product);}public double calculateTotalPrice() {double totalPrice = 0;for (Product product : products) {totalPrice += product.getPrice();}return totalPrice;}
}

在改进后的示例中,Customer类不再直接与Order类和Product类的内部结构交互,而是通过添加一个calculateTotalSpent方法来计算总花费。同时,引入了ShoppingCart类来管理购物车中的商品,避免了Customer类与Product类的直接交互。

http://www.yayakq.cn/news/806559/

相关文章:

  • 枣庄建网站的公司798人像艺术区
  • 网站站长指南网站首页改版
  • html做的旅游网站装修公司报价明细表范本
  • 网站建设实施文档wordpress 备份插件 汉化
  • 网站建设培训哪里好住房及城乡建设部网站
  • 盘锦网站建设流程为什么要建设公司网站
  • 南阳优化网站排名苏州网站推广优化
  • 怎么做彩票网站收款人怎么注册企业邮箱号
  • 模板网站的劣势fireworks个人网站模板
  • 讯美网站建设为什么小城市做不出来好的网站
  • 免费网站建设平台哪个好网站建设项目报告
  • 做网站常用的套件网站管理员功能
  • 十大小说网站排名word模板免费网站
  • 网站建设趣味解读小程序注册失败怎么办
  • 可以做样机图的网站h5 响应式网站国外
  • 大连html5网站建设费用哪个网站帮忙做户型方案
  • h5网站制作视频东莞做网站需要多少钱
  • 深圳电子商务网站开发建设一个公司网站需要多少钱
  • 中国能源建设招标网站新开传奇网站发布网单
  • 公司建立网站的步骤wordpress -editor
  • 网页设计教程dw自动app优化
  • 衡阳网站推广电商网站建设实验原理
  • 做手机网站用什么程序好上海建筑设计院排名前10
  • 怎样把网站做成软件创意电子产品设计
  • 网站推广妙招哈尔滨住房和城乡建设局网站
  • 建立网站的目录结构时最好的做法是衡阳建设学校官方网站
  • 网站建设哪家企业好广告设计与制作专业可以考二建吗
  • 苏州网站设计选哪家网站建设设计作业
  • 长春seo网站排名百度怎么建网站
  • 北京做网站的网站框架类型