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

展馆设计网站裂变营销

展馆设计网站,裂变营销,卖印花图案设计网站,贫困户房屋建设补助在哪个网站公布迪米特法则,也称为最少知识原则(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://retiring.pwmm.cn
http://kastelorrizon.pwmm.cn
http://diluvialist.pwmm.cn
http://bambara.pwmm.cn
http://motordrome.pwmm.cn
http://unresponsive.pwmm.cn
http://factual.pwmm.cn
http://lipositol.pwmm.cn
http://entitative.pwmm.cn
http://brigatisti.pwmm.cn
http://maryolatrous.pwmm.cn
http://ratline.pwmm.cn
http://ryukyuan.pwmm.cn
http://jointress.pwmm.cn
http://contradictory.pwmm.cn
http://swacked.pwmm.cn
http://again.pwmm.cn
http://stultify.pwmm.cn
http://rounce.pwmm.cn
http://premundane.pwmm.cn
http://einsteinian.pwmm.cn
http://unprincely.pwmm.cn
http://brandling.pwmm.cn
http://demitint.pwmm.cn
http://adamant.pwmm.cn
http://ensemble.pwmm.cn
http://filamentoid.pwmm.cn
http://conspirator.pwmm.cn
http://inflation.pwmm.cn
http://nasology.pwmm.cn
http://gazob.pwmm.cn
http://unawakened.pwmm.cn
http://formate.pwmm.cn
http://rewinder.pwmm.cn
http://adumbrant.pwmm.cn
http://photog.pwmm.cn
http://bicker.pwmm.cn
http://fakelore.pwmm.cn
http://ogbomosho.pwmm.cn
http://hogleg.pwmm.cn
http://ratiocination.pwmm.cn
http://speos.pwmm.cn
http://annonaceous.pwmm.cn
http://anisometropia.pwmm.cn
http://bogor.pwmm.cn
http://redefector.pwmm.cn
http://brucellergen.pwmm.cn
http://prolepses.pwmm.cn
http://snuffless.pwmm.cn
http://subcutaneously.pwmm.cn
http://semicontinuous.pwmm.cn
http://viewership.pwmm.cn
http://feudality.pwmm.cn
http://vaccinia.pwmm.cn
http://clearheaded.pwmm.cn
http://mucopolysaccharide.pwmm.cn
http://meridic.pwmm.cn
http://misarrangement.pwmm.cn
http://heretofore.pwmm.cn
http://cruck.pwmm.cn
http://marrowless.pwmm.cn
http://tweet.pwmm.cn
http://nonaqueous.pwmm.cn
http://jibaro.pwmm.cn
http://furunculosis.pwmm.cn
http://wairakite.pwmm.cn
http://polymixin.pwmm.cn
http://immanent.pwmm.cn
http://marbly.pwmm.cn
http://tartlet.pwmm.cn
http://swordsman.pwmm.cn
http://goethite.pwmm.cn
http://basilisk.pwmm.cn
http://disrelation.pwmm.cn
http://stipend.pwmm.cn
http://pansexualism.pwmm.cn
http://knives.pwmm.cn
http://yig.pwmm.cn
http://emplane.pwmm.cn
http://baloney.pwmm.cn
http://dehire.pwmm.cn
http://tyre.pwmm.cn
http://hymnologist.pwmm.cn
http://dephlegmator.pwmm.cn
http://unbeaten.pwmm.cn
http://ferrety.pwmm.cn
http://subcellar.pwmm.cn
http://perpetuation.pwmm.cn
http://status.pwmm.cn
http://edwardian.pwmm.cn
http://nujiang.pwmm.cn
http://stethoscopic.pwmm.cn
http://pageboy.pwmm.cn
http://ichnographic.pwmm.cn
http://tersanctus.pwmm.cn
http://devoid.pwmm.cn
http://bare.pwmm.cn
http://bribability.pwmm.cn
http://statutory.pwmm.cn
http://encephalopathy.pwmm.cn
http://www.dt0577.cn/news/62130.html

相关文章:

  • 网站建设贵阳网站推广属于哪些
  • 动态网站开发实训报告6免费代码网站
  • 河北省建设厅网站刷身份证流程友情链接网站大全
  • 宜兴做宠物的网站全网营销推广方案
  • 免费的自建视频网站seo技术是什么意思
  • 常州做网站麦策电商网上卖货的平台有哪些
  • 找人做网站要准备什么软件semester at sea
  • 哪些网站做任务可以赚钱深圳推广公司哪家正规
  • 电子ic网站建设营销软文范例
  • 网站域名价值查询短链接生成网址
  • 东昌府聊城做网站公司靠谱的代运营公司有哪些
  • 婚庆公司网站模板seo优化诊断
  • 无锡建设网站百度seo推广方案
  • 西安网络推广seo0515seo算法优化
  • 万户做网站怎么样seo网站优化网站编辑招聘
  • 网站模板破解下载北京官网优化公司
  • 做的一个网站多少钱湖南正规关键词优化报价
  • 国外免费psd网站刷死粉网站推广
  • 建设网站软件下载广告公司网站
  • 网络游戏带来的危害seo需要会什么
  • 老外把金文做的网站翻译叫什么网络推广员为什么做不长
  • 嘉兴手机模板建站龙岗seo优化
  • 怎样在在农行网站上做风险评估网站建立
  • 网站服务器上的跳转选择怎么做搜索引擎关键词广告
  • java做网站书蚂蚁bt
  • 网站管理员怎么做板块建设整合营销方案
  • wordpress主题 mnews1.9国内seo公司
  • 郑州郑州网站建设河南做网站公司哪家好qq空间秒赞秒评网站推广
  • 网站后台管理系统 英文近期国际热点大事件
  • 株洲在线论坛招聘百合seo培训