温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中有哪些设计原则

发布时间:2021-05-13 16:19:14 来源:亿速云 阅读:123 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关Java中有哪些设计原则,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、单一职责原则(SingleResponsibilityPrinciple,SRP)

定义:一个类只负责一个功能领域中的相应职责

理解:该设计模式很好理解,就是一个类只实现某个领域的相应职责,这样有利于进行调用。就比如在Java开发时,设计controller、service、manager、dao层一样的道理,进行分层分工,再和生活贴近一点,人们在社会中也是更加各有所长进行职责分工协调更好地运行社会。

例子:可能在刚开始学习Java进行课设设计时,可能会将DB连接,图表展示都放在一个类里面,这样导致该类就比较冗杂。为了遵循该原则应该将其分解为DBUtil和ChartDisplay两个类。

二、开闭原则(Open-ClosedPrinciple,OCP)

定义:软件实体应对扩展开放,而对修改关闭

理解:刚开始看到该原则定义,其实有点懵,然后结合例子就很容易明白了。其意思就是当该类需要进行拓展(比如说添加一个新功能(方法))是可以的,但进行修改某功能则不可以。怎么实现呢?那就得看下个里氏代换原则了。不过目的还是为了拓展,维护。

例子:假设需要展示不同图表,你采用传入type参数去控制展示何种图表,那么当你拓展时,就需要添加新的判断比较,进行了修改,破坏了原类。不符合该原则,改进办法,使用抽象类或者接口进行拓展。

三、里氏代换原则(LiskovSubstitutionPrinciple,LSP)

定义:所有引用基类对象的地方能够透明地使用其子类的对象

理解:简单地说,就是接口(基类、抽象类)进行定义,子类进行动态实现。便于(2)的原则实现。

例子:以下如service包中进行接口定义,然后…impl实现,再在controller中进行基类接口声明定义,最后在实际使用中进行动态调用。

Java中有哪些设计原则
Java中有哪些设计原则

四、依赖倒换原则(DependenceInversionPrinciple,DIP)

定义:抽象不应该依赖于细节,细节应该依赖于抽象

理解:也就是面向接口编程,应该先进行接口定义该业务需要哪些方法,也可以适当书写步骤,然后再在实现类里面进行细节完善。

例子:如下,就是先把接口写好(明确业务),然后实现类进行具体实现。

Java中有哪些设计原则

五、接口隔离原则(InterfaceSegregationPrinciple,ISP)

定义:使用多个专门的接口,而不使用单一的总接口

理解:和单一原则大同小异,就是针对的对象不同,一个是类一个是接口。在此方面深有感触,刚开始时进行编写接口基本上按一个功能模块(比如说登录一模块,支付一模块,新闻一模块)一个接口,后面维护时发现找相应具体功能点就比较麻烦了,而且实现类里面十分庞杂(几百行代码看重都头疼)。

六、合成复用原则(CompositeReusePrinciple,CRP)

定义:尽量使用对象组合,而不是继承来达到复用的目的

理解:复用时应该多用关联,少用继承。不过感觉一般习惯性就关联复合吧,没什么好讲的。

七、迪米特法则(LawofDemeter,LoD)

定义:一个软件实体应当尽可能少地与其他实体发生相互作用。

理解:为了避免修改该类后影响其他类(不过IDEA报错工具很强大也不要怕哈哈哈。),应该让此类尽可能不与其他类发生关联,主要有其他类构造注入,参数注入,依赖注入等。在设计时,多考虑有没有必要加入引用,是否可以设计一个中间类去管理。

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

以上就是Java中有哪些设计原则,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI