迪米特法则java面向对象设计原则和设计模式详解

迪米特法则  时间:2021-07-09  阅读:()

java常用的设计模式一共有多少种

1、正如上一位答主所言,java中存在23种面向对象的设计模式,分别是: 1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2、他们遵从如下原则: 1)单一职责原则 2)里式替换原则 3)依赖倒置原则 4)接口隔离原则 5)迪米特法则 6)开闭原则 3、如果非要用几个简单的字来概括这繁杂的23种设计模式那就是“高内聚,低耦合”。

4、百度--23种设计模式,边研究原理,边敲代码,其义自见。

JAVA面向对象六大原则是什么?

1) Open-Close Principle(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。

这是最重要也是最为抽象的原则,基本上我们所说的Reusable Software既是基于此原则而开发的。

其他的原则也是对它的实现提供了路径。

2) Liskov Substituition Principle(LSP),里氏代换原则,很严格的原则,规则是“子类必须能够替换基类,否则不应当设计为其子类。

”也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类. 3) Dependence Inversion Principle(DIP),依赖倒换原则,“设计要依赖于抽象而不是具体化”。

换句话说就是设计的时候我们要用抽象来思考,而不是一上来就开始划分我需要哪些哪些类,因为这些是具体。

这样做有什么好处呢?人的思维本身实际上就是很抽象的,我们分析问题的时候不是一下子就考虑到细节,而是很抽象的将整个问题都构思出来,所以面向抽象设计是符合人的思维的。

另外这个原则会很好的支持OCP,面向抽象的设计使我们能够不必太多依赖于实现,这样扩展就成为了可能,这个原则也是另一篇文章《Design by Contract》的基石。

4) Interface Segregation Principle(ISP),“将大的接口打散成多个小接口”,这样做的好处很明显,我不知道有没有必要再继续描述了,为了节省篇幅,实际上我对这些原则只是做了一个小总结,如果有需要更深入了解的话推荐看《Java与模式》,MS MVP的一本巨作!^_^ 5) Composition/Aggregation Reuse Principle(CARP),设计者首先应当考虑复合/聚合,而不是继承(因为它很直观,第一印象就是“哦,这个就是OO啊”)。

这个就是所谓的“Favor Composition over Inheritance”,在实践中复合/聚合会带来比继承更大的利益,所以要优先考虑。

6) Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法则或最少知识原则,这个原则首次在Demeter系统中得到正式运用,所以定义为迪米特法则。

它讲的是“一个对象应当尽可能少的去了解其他对象”。

也就是又一个关于如何松耦合(Loosely-Coupled)的法则。

对象原则的优缺点有哪些?

优点是由于不知符合工艺过程,物流畅通; 由于上下工序衔接,存放量少; 物料搬运工作量少; 生产计划简单,容易于控制; 可使用专用设备和机械化、自动化搬运方法 缺点是设备发生故障时引起整个生产线中断; 产品设计变化将引起不知的重大调整; 生产线速度取决于最慢的机器; 维修和保养费用高。

java面向对象设计原则和设计模式详解

Java面向对象设计原则 1) Open-Close Principle(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。

这是最重要也是最为抽象的原则,基本上我们所说的Reusable Software既是基于此原则而开发的。

其他的原则也是对它的实现提供了路径。

2) Liskov Substituition Principle(LSP),里氏代换原则,很严格的原则,规则是“子类必须能够替换基类,否则不应当设计为其子类。

”也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类. 3) Dependence Inversion Principle(DIP),依赖倒换原则,“设计要依赖于抽象而不是具体化”。

换句话说就是设计的时候我们要用抽象来思考,而不是一上来就开始划分我需要哪些哪些类,因为这些是具体。

这样做有什么好处呢?人的思维本身实际上就是很抽象的,我们分析问题的时候不是一下子就考虑到细节,而是很抽象的将整个问题都构思出来,所以面向抽象设计是符合人的思维的。

另外这个原则会很好的支持OCP,面向抽象的设计使我们能够不必太多依赖于实现,这样扩展就成为了可能,这个原则也是另一篇文章《Design by Contract》的基石。

4) Interface Segregation Principle(ISP),“将大的接口打散成多个小接口”,这样做的好处很明显,我不知道有没有必要再继续描述了,为了节省篇幅,实际上我对这些原则只是做了一个小总结,如果有需要更深入了解的话推荐看《Java与模式》,MS MVP的一本巨作!^_^ 5) Composition/Aggregation Reuse Principle(CARP),设计者首先应当考虑复合/聚合,而不是继承(因为它很直观,第一印象就是“哦,这个就是OO啊”)。

这个就是所谓的“Favor Composition over Inheritance”,在实践中复合/聚合会带来比继承更大的利益,所以要优先考虑。

6) Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法则或最少知识原则,这个原则首次在Demeter系统中得到正式运用,所以定义为迪米特法则。

它讲的是“一个对象应当尽可能少的去了解其他对象”。

也就是又一个关于如何松耦合(Loosely-Coupled)的法则。

设计模式: 1)适配器模式 /blog/174838 2)桥接器模式 /blog/174892 3)职责链模式 /blog/174906 4)命令模式 /blog/174896 5)装饰器模式 /blog/174840 6)外观模式 /blog/174890 7)工厂模式 /blog/174831 8)享元模式 /blog/174891 9)代理模式 /blog/174887 10)单例模式 /blog/174829 11)状态模式 /blog/174897 12)策略模式 /blog/174894 13)模板模式 /blog/174893 14)访问者模式 /blog/174914

Gcore(gcorelabs)俄罗斯海参崴VPS简单测试

有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...

HostKvm - 夏季云服务器七折优惠 香港和韩国机房月付5.95美元起

HostKvm,我们很多人都算是比较熟悉的国人服务商,旗下也有多个品牌,差异化多占位策略营销的,商家是一个创建于2013年的品牌,有提供中国香港、美国、日本、新加坡区域虚拟化服务器业务,所有业务均对中国大陆地区线路优化,已经如果做海外线路的话,竞争力不够。今天有看到HostKvm夏季优惠发布,主要针对香港国际和韩国VPS提供7折优惠,折后最低月付5.95美元,其他机房VPS依然是全场8折。第一、夏...

香港服务器促销:香港华为云混合服务器、高防服务器首月半价,普通110M大带宽服务器月付799,付5用6,付10用13

博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...

迪米特法则为你推荐
gravatarWordPress头像无法显示怎么办foxmail邮箱注册FOXMAIL邮箱在哪里可以注册?欢迎页面欢迎屏幕!!!!弹幕网站A站B站网址是什么,国内很出名嗎?有什么网站特点..pci数据捕获和信号处理控制器大侠们,PCI数据捕获和信号处理控制器不能正常工作了要怎么解决啊,是不是要安装主板驱动啊?easeljs如何使用createjs来编写html5游戏杭州营销型网站为什么要做营销型网站文件系统类型windows 操作系统的文件系统具体有哪几种screencapture电脑qq问题:点击qq邮箱与空间,弹出Screen Capture Control 进入不了qq邮箱与空间,怎么解决?toolstripWinOperationClass是什么来的,什么用
域名服务器是什么 uk2 isatap 360抢票助手 云图标 台湾谷歌地址 怎么测试下载速度 中国电信测网速 1g空间 免费智能解析 卡巴斯基免费试用 网购分享 路由跟踪 东莞服务器托管 新加坡空间 阿里云个人邮箱 新疆服务器 ncp cdn加速技术 西部主机 更多