设计模式六大原则(如何学习JDK里的设计模式)

本文目录
如何学习JDK里的设计模式
如果是初学软件设计的话,最好不要先看书。设计这个东西不像是做二元一次方程,给出固定解法和步骤就能得到唯一的解。而设计的精髓在于“在多个相互矛盾的目标中找到权衡”。设计的上下文对设计是非常的重要的,上下文变一点点,都有可能造成设计方案完全不同。所以,首先要熟悉领域知识、主机硬件、编程语言、网络、数据存储等内容。当把这些内容都能熟练掌握,再来谈设计。
首先,你可以在你工作的领域中,找到最常用的设计模式。比如做Web的,MVC、MVVM这类应该很常见。然后去思考和分析,为什么这种模式适合这个场景,好处在哪里,代价在哪里。再阅读一些设计的书籍,与你面临的现实对照。如果有不明白的,可以去问问别人为什么,多于别人探讨学习。之后,进一步阅读一些设计模式的资料,分析他们出现的上下文和背景,思考下你用的编程语言,那些设计思路编程语言可以帮助你快速完成。当你以上掌握的差不多了,可以开始看看其他领域和其他编程语言的设计。当然,为了面试,还是把23种设计模式背牢。
设计模式基于六大原则。开闭原则,一个软件实体如类、模块和函数应该对修改封闭,对扩展开放;单一职责原则:一个类只做一件事,一个类应该只有一个引起它修改的原因;里氏替换原则,子类应该可以完全替换父类。也就是说在使用继承时,只扩展新功能,而不要破坏父类原有的功能;依赖倒置原则,细节应该依赖于抽象,抽象不应依赖于细节。把抽象层放在程序设计的高层,并保持稳定,程序的细节变化由低层的实现层来完成;迪米特法则,一个类不应知道自己操作的类的细节,换句话说就是,只和朋友谈话,不和朋友的朋友谈话;接口隔离原则,客户端不应依赖它不需要的接口。如果一个接口在实现时,部分方法由于冗余被客户端空实现,则应该将接口拆分,让实现类只需依赖自己需要的接口方法。
设计模式原则是什么
设计模式原则是:
1、开闭原则:对扩展开放,对修改关闭,即在程序需要进行拓展的时候,不能去修改原有的代码,只能增加新的代码。
2、里氏转换原则:子类继承父类,任何基类出现的地方,一定可以用子类替代出现。
3、依赖倒转原则:引用一个对象,如果这个对象有底层类型,直接引用底层类型。
4、接口隔离原则:使用多个隔离的接口,比使用单个接口要好,每一个接口应该是一种角色。
5、合成/聚合复用原则:新的对象应使用一些已有的对象,使之成为新对象的一部分。
6、迪米特原则:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立,即一个对象应对其他对象有尽可能少得了解。
软件设计原则有哪些
七大设计原则
开闭原则
依赖导倒置原则
单一职责原则
接口隔离原则
迪米特原则
里氏替换原则
合成复用原则
设计模式-创建型模式
工厂方法模式
抽象工厂模式
建造者模式
单例模式
原型模式
设计模式-结构性模式
适配器模式
装饰者模式
代理模式
外观模式
桥接模式
组合模式
享元模式
设计模式-行为型模式
策略模式
模板方法模式
观察者模式
访问者模式
迭代器模式
责任链模式
中介者模式
解释器模式
状态模式
命令模式
备忘录模式
软件设计原则介绍
所以,可以说软件系统是连接需求分析、硬件系统以及使得系统实现的桥梁,对软件的设计应首先了解软件设计的设计原则。
设计原则
(1)可靠性
软件系统的规模越做越大越加复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,软件系统的可靠性也直接关系到设计自身的声誉和生存发展竞争能力。软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。软件可靠性和硬件可靠性本质区别在于:后者为物理机理的衰变和老化所致,而前者是由于设计和实现的错误所致。故软件的可靠性必须在设计阶段就确定,在生产和测试阶段再考虑就困难了。
(2)健壮性
健壮性又称鲁棒性,是指软件对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。软件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。软件设计的健壮与否直接反应了分析设计和编码人员的水平。
(3)可修改性
要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整。
(4)容易理解
软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。
(5)程序简便
(6)可测试性
可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。
(7)效率性
软件的效率性一般用程序的执行时间和所占用的内存容量来度量。在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。
(8)标准化原则
在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。
(9)先进性
满足客户需求,系统性能可靠,易于维护。
(10)可扩展性
软件设计完要留有升级接口和升级空间。对扩展开放,对修改关闭。
(11)安全性
安全性要求系统能够保持用户信息、操作等多方面的安全要求,同时系统本身也要能够及时修复、处理各种安全漏洞,以提升安全性能。
六大设计原则(SOLID)
设计模式的六大原则有:
把这六个原则的首字母联合起来(两个 L 算做一个)就是 SOLID (solid,稳定的),其代表的含义就是这六个原则结合使用的好处:建立稳定、灵活、健壮的设计。下面我们来分别看一下这六大设计原则。
一个类应该只有一个发生变化的原因
六大设计原则之单一职责原则(SRP)
一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭
六大设计原则之开闭原则(OCP)
所有引用基类的地方必须能透明地使用其子类的对象
六大设计原则之里氏替换原则(LSP)
只与你的直接朋友交谈,不跟“陌生人”说话
其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。
六大设计原则之迪米特法则(LOD)
1、客户端不应该依赖它不需要的接口。
2、类间的依赖关系应该建立在最小的接口上。
注:该原则中的接口,是一个泛泛而言的接口,不仅仅指Java中的接口,还包括其中的抽象类。
六大设计原则之接口隔离原则(ISP)
1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。
2、抽象不应该依赖于细节,细节应该依赖于抽象。
依赖倒置原则(DIP)
参考:
阿里云折扣快速入口
艺术设计的六大原则是什么请分别举例阐述
1功能原则 就是指设计时要考虑设计品应当具有的目的和效用符合目的性的原则 2经济原则 就是现代设计时要考虑经济核算问题考虑原材料费用、成产成本、产品价格、运输、贮藏、展示、推销、等费用的便宜合理在一般情况下力求以最小的成本获得最适用、最优质、最美观的设计。 3科技原则 指设计时要考虑现代材料的性能和加工方法所起的作用因材施技以利于优质高效地批量生产使产品更好地为人类服务。 4信息原则 指现代设计师要重视现代设计的信息因素在设计时考虑设计产品应当具有的信息成分和如何迅速准确地传送有效信息。 5艺术原则 是指设计时要考虑所设计产品或作品的艺术性使它的造型具有恰当的审美特征和较高的艺术品位从而给受众以美感享受。 6合理原则 合理原则就是合规律性原则或者说合逻辑原则指的是在进行现代设计时要考虑尊重和符合客观规律避免主观随意性和盲目性。

更多文章:
湖北十堰爆炸事故原因(湖北十堰,发生爆炸事故致11死,酿成这起惨剧的起因是什么)
2026年10月11日 05:30
安徽六安一女子在奥迪车内被殴打扒衣,警方称是感情纠纷,案件会如何定性?安徽六安教师讨薪事件真相是什么
2026年10月11日 04:40








