E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Java设计
java设计
模式七大原则之里氏替换原则详解
目录1.什么是里氏替换原则?2.代码案例3.改进代码1.什么是里氏替换原则?我们都知道,在面向对象编程中有三大特性(封装、继承、多态),在这里我们来说继承这个东西。继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。也就是说:继承在给程序设计带来便利的同时,也带
·
2022-02-11 11:49
java设计
模式七大原则之依赖倒转原则详解
目录1.什么是依赖倒转原则?2.代码案例3.依赖关系传递的三种方式和案例举例3.1接口传递3.2构造方法传递3.3setter方法传递4.依赖倒转原则总结1.什么是依赖倒转原则?高层模块不应该依赖低层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。依赖倒转(倒置)的中心思想是面向接口编程。依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建
·
2022-02-11 11:09
Java设计
模式七大原则之接口隔离原则详解
目录定义案例需求方案一方案二对比分析总结小知识点相同点不同点定义接口隔离原则(InterfaceSegregationPrinciple),又称为ISP原则,官方定义为1.客户端不应该依赖它不需要的接口2.类间的依赖关系应该建立在最小的接口上简单点来讲就是在一个类中不要定义过多的方法,接口应该尽量简单细化案例需求假设有这样一个案例场景,现在有一个接口Repair,给定他有三个能力,可以修汽车,修火
·
2022-02-11 11:34
示例解析
java设计
模式七大原则接口隔离原则及优化
目录1.什么是接口隔离原则?2.对应代码3.改进代码4.接口隔离原则总结1.什么是接口隔离原则?客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口范围上。2.对应代码上面这张图呢,就违反了接口隔离原则。它对应的代码如下:packagecom.szh.principle.segregation;/****/interfaceInterface1{voidoperation1
·
2022-02-11 11:56
java设计
模式七大原则之单一职责原则详解
目录1.什么是单一职责原则?2.改进代码一3.改进代码二4.单一职责原则总结1.什么是单一职责原则?首先我们可以对某个类来说,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。我们来看下面这段代码:packagecom.szh.principle.singleresponsibility;/
·
2022-02-11 11:19
Java设计
模式——工厂方法模式——抽象工厂模式
一、引言23种设计模式大概分为三大类:5种(创建型模式):工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式。7种(结构型模式):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。11种(行为型模式):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。行为型又可以通过类与类之间的关系进行划
止步前行
·
2022-02-11 09:57
设计模式
工厂方法模式
抽象工厂模式
Java设计模式
Java设计
模式相关面试题
请列举出在JDK中几个常用的设计模式?什么是设计模式?你是否在你的代码里面使用过任何设计模式?Java中什么叫单例设计模式?请用Java写出线程安全的单例模式在Java中,什么叫观察者设计模式(observerdesignpattern)?使用工厂模式最主要的好处是什么?在哪里使用?举一个用Java实现的装饰模式(decoratordesignpattern)?它是作用于对象层次还是类层次?在Ja
老干妈炒饭
·
2022-02-11 03:13
Java--面向对象设计
请使用
Java设计
出相应的程序。【解决】方法1:面向过程的传统方式定义一个大的函数:voidstrategy(in
Si_wuxie
·
2022-02-10 23:00
Java设计
模式七大原则之开闭原则详解
目录定义案例需求方案一执行结果方案二执行结果对比分析总结定义开闭原则(OpenClosePrinciple),又称为OCP原则,即一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。其中,对扩展开放是针对提供方来说的,对修改关闭是针对调用方来说的。案例需求购买东西的时候,根据支付类型的不同使用不同的方式进行支付,当类型为1时,使用微信支付;当类型为2时,使用支付宝支付方案一定义支付类型/***
·
2022-02-10 17:18
Java设计
模式七大原则之合成复用原则详解
目录定义案例需求方案一方案二方案三对比分析总结设计原则的核心思想定义合成复用原则(CompositeReusePrinciple),即尽量使用组合/聚合的方式,而不是使用继承。案例需求现在假设有一个A类,里面有两个方法,有一个B类,想要复用这两个方法,请问有几种方案方案一继承的方式定义A类,并定义两个方法/***类A*@author:liyajie*@createTime:2022/2/99:50
·
2022-02-09 17:31
聊聊JDBC是如何破坏双亲委派模型的
由于双亲委派模型是在JDK1.2之后才被引入的,而类加载器和抽象类java.lang.ClassLoader则是JDK1.0时候就已经存在,面对已经存在的用户自定义类加载器的实现代码,
Java设计
者引入双亲委派模型时不得不做出一些妥协
曾泽浩
·
2022-02-09 15:15
Java设计
模式
此系列文章为清华大学出版社出版刘伟编著《
Java设计
模式》的学习笔记。设计模式定义设计模式(DesignPattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。
tongbo
·
2022-02-09 13:33
Java设计
模式七大原则之里氏替换原则详解
目录定义案例需求方案一方案二对比分析总结定义里氏替换原则(LiskovSubstitutionPrinciple,LSP),官方定义如下:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型,所有引用基类的地方必须能透明地使用其子类的对象。则通俗的来讲:子类可以扩展父类的功能,但是子类不
·
2022-02-09 10:10
Java设计
模式七大原则之单一职责原则详解
目录定义案例需求方案一方案二对比分析总结如何遵守单一职责原则定义单一职责原则(SingleResponsibilityPrinciple,SRP),有且仅有一个原因引起类的变更。简单来说,就是针对一个java类,它应该只负责一项职责。例如一个Test.java类,它有两个职责:职责1,职责2。当职责1进行修改时,有可能影响到职责2,所以需要将Test.java类拆分成Test1.java和Test
·
2022-02-09 10:38
Java设计
模式七大原则之迪米特法则详解
目录定义案例需求方案一方案二对比分析总结定义迪米特法则(LawofDemeter,LoD)是1987年秋天由lanholland在美国东北大学一个叫做迪米特的项目设计提出的,它要求一个对象应该对其他对象有最少的了解,所以迪米特法则又叫做最少知识原则。案例需求有一个公司,下属有各个部门,现要求打印出公司员工的ID和部门员工的ID方案一定义公司员工类/***公司员工*@author:liyajie*@
·
2022-02-08 16:57
Java设计
模式之单一职责原则精解
1.什么是单一职责原则?首先我们可以对某个类来说,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。我们来看下面这段代码:packagecom.szh.principle.singleresponsibility;/***交通工具类*方式1*1.在方式1的run方法中,违反了单一职责原则*2
·
2022-02-08 16:25
Java设计
模式之接口隔离原则精解
1.什么是接口隔离原则?客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口范围上。2.对应代码上面这张图呢,就违反了接口隔离原则。它对应的代码如下:packagecom.szh.principle.segregation;/****/interfaceInterface1{voidoperation1();voidoperation2();voidoperation3()
·
2022-02-08 13:41
Java设计
模式之依赖倒转原则精解
目录1.什么是依赖倒转原则?2.代码案例3.依赖关系传递的三种方式和案例举例3.1接口传递3.2构造方法传递3.3setter方法传递4.依赖倒转原则总结1.什么是依赖倒转原则?高层模块不应该依赖低层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。依赖倒转(倒置)的中心思想是面向接口编程。依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建
·
2022-02-08 13:09
Java设计
模式之里氏替换原则精解
1.什么是里氏替换原则?我们都知道,在面向对象编程中有三大特性(封装、继承、多态),在这里我们来说继承这个东西。继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。也就是说:继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可移
·
2022-02-08 11:01
Java学习笔记20180407
正所谓尽信书则不如无书,学Java也不能只读某一个视频教程,除了网上多如牛毛的Java书籍和教程,Java官方开发文档才是正道源泉,因此,我今天溯本归原,从官方文档读起,了解
Java设计
者的本意,先用一张文档首页截图镇个楼
半坡城主
·
2022-02-08 09:00
java设计
模式(实战)-责任链模式
目录一:模式说明二:项目实战三:源代码一:模式说明模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式的重点是在“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果(取自《设计模式之禅》)。翻译:Client对象调用一个处理者(类)的方法,可能有多个处理者(实现类
·
2022-02-07 17:19
Java设计
模式之职责链模式详解
目录前言一、职责链模式的定义与特点二、职责链模式的结构三、职责链模式案例前言本文简单介绍了设计模式的一种——职责链模式一、职责链模式的定义与特点定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。比如我们的审批制度,低等级的审批不了的,交给上一级审批,依次类推,直到审
·
2022-02-07 17:18
Java设计
模式之开闭原则精解
目录1.什么是开闭原则?2.违反Ocp代码案例3.遵守Ocp代码案例1.什么是开闭原则?开闭原则(OpenClosedPrinciple)是编程中最基础、最重要的设计原则。一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中遵循其它原则,以及
·
2022-02-07 17:11
Java设计
模式之迪米特原则精解
目录1.什么是迪米特原则?2.违反迪米特原则代码案例3.遵守迪米特原则代码案例4.迪米特原则的注意事项1.什么是迪米特原则?一个对象应该对其他对象保持最少的了解。类与类关系越密切,耦合度越大。迪米特法则(DemeterPrinciple)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public方法,不对外泄
·
2022-02-07 17:11
Java设计
模式UML之类图精解
目录1.UML基本介绍2.UML类图2.1类关系——依赖2.2类关系——泛化2.3类关系——实现2.4类关系——关联2.5类关系——聚合2.6类关系——组合1.UML基本介绍UML——UnifiedmodelinglanguageUML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,就像数学符号和化学符号一样,这
·
2022-02-07 17:39
java设计
模式之中介者模式
整个设计模式体系中,中介者模式也算是时常用到了,在我自己负责的项目中算是用到了好几次。正好最近一段时间更新一些与设计模式相关的文章,于是花了一些时间整理了一下,如有问题还请指正,共同进步学习。一、认识中介者模式1、概念我们先从例子入手,再着手介绍其概念。对于中介者模式,你脑海中首先映入的肯定就是中介,我们的生活中到处充满着中介,比如说婚姻介绍所,房产中介,甚至于联合国都是中介。他们的作用都是加强处
愚公要移山
·
2022-02-06 07:16
Java设计
模式-创建型模式-建造者模式
此系列文章为清华大学出版社出版刘伟编著《
Java设计
模式》的学习笔记。
tongbo
·
2022-02-05 21:36
java设计
模式之访问者模式
访问者模式访问者模式概述访问者模式类图访问者模式结构访问者模式案例实现访问者模式的优缺点访问者模式的使用场景访问者模式扩展访问者模式概述定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。访问者模式类图访问者模式结构访问者模式包含以下主要角色:抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是
活跃的咸鱼
·
2022-02-05 21:39
设计模式
elasticsearch
docker
java
折腾
Java设计
模式之命令模式
博客原文地址折腾
Java设计
模式之命令模式命令模式wiki上的描述Encapsulatearequestasanobject,therebyallowingfortheparameterizationofclientswithdifferentrequests
大萌小路
·
2022-02-05 16:48
Java设计
模式--装饰器模式
该模式又称为包装模式,允许向一个现有的对象添加新的功能,同时又不改变其结构,就像一种装饰一样,动态的将功能附加到别的类中。其实这种模式比较常见,例如Java中的io类就是利用了这种模式。一个简单的输入输出流经过包装可以有各种功能。简单实现:抽象类publicinterfaceBeverage{voidmake();}基本实现类(被装饰对象)publicclassCoffeeimplementsBe
留给时光吧
·
2022-02-05 16:22
Java设计
模式——委派模式
委派模式有点像代理模式又有点像策略模式。例如:公司老板给项目经理下达任务,将任务全权交给项目经理,由项目经理根据一定的策略将任务分配给小组成员,项目经理从头跟到尾。项目经理就像一个受老板授权的中介,老板不需要和小组成员直接联系,甚至可以不知道他的存在。我们员工实现同一个干活的接口publicinterfaceITarget{publicvoiddoSomething(Stringcommand);
SvenBarnett
·
2022-02-04 18:51
详解
java设计
模式中的门面模式
门面模式又叫外观模式(FacadePattern),主要用于隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。我们知道电视剧操作很简单,但是里面的设计和原理很少人明白,这就是因为电视剧的设计应用了门面模式一个电视剧至少需要有以下几个模块的功能:信号输入、音频处理、视频处理、信号输出等/***射频信号输入*/publicclassSignalIn{//}*音频/视频信号输出public
·
2022-02-04 15:57
java设计
模式之UML图和设计原则
UML中的类图及类图之间的关系链接:http://c.biancheng.net/view/1319.html开闭原则——面向对象设计原则链接:http://c.biancheng.net/view/1322.html里氏替换原则——面向对象设计原则链接:http://c.biancheng.net/view/1324.html依赖倒置原则——面向对象设计原则链接:http://c.bianche
这一刻_776b
·
2022-02-03 14:17
JAVA设计
模式之单例模式详解
二、懒汉式单例三、饿汉式单例四、双重校验锁总结前言在之前的文章里已经介绍了设计模式以及设计原则的概念,接下来我们从单例模式入手深入学习几种常用的
JAVA设计
模式,在实践中加深理解。一、单例模式是什么?
·
2022-01-28 16:38
开源分布式任务调度工具,和你一起记住生命中每一个重要的时刻
SandGlass⏳SandGlass是一款为
java设计
的分布式任务调度工具。创作目的定时任务是业务需求中非常常见的比如:(1)每天给自己爱人发晚安什么你还是单身?,那看完本篇文章就有了。
·
2022-01-08 12:40
分布式开源github任务调度
Java设计
模式之观察者模式
目录一、观察者模式的定义和特点二、观察者模式的结构三、代码实例代码示例总结一、观察者模式的定义和特点观察者模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。特点:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。目标与观察者之间建立了一套
·
2021-12-30 19:00
详解
Java设计
模式中的装饰模式
目录一、装饰模式的定义和特点二、装饰模式的结构三、咖啡点单案例演示四、总结一、装饰模式的定义和特点在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰器模式来实现。就像我们做菜,需要用到调料,菜,刀,火等一系列抽象的组件来最终完成一道菜。装饰模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加
·
2021-12-30 19:26
Java设计
模式之单例模式示例详解
目录0.概述1.饿汉式1.1饿汉式单例实现1.2破坏单例的几种情况1.3预防单例的破坏2.枚举饿汉式2.1枚举单例实现2.2破坏单例3.懒汉式4.双检锁懒汉式5.内部类懒汉式6.JDK中单例的体现0.概述为什么要使用单例模式?在我们的系统中,有一些对象其实我们只需要一个,比如说:线程池、缓存、对话框、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象。事实上,这一类对象只能有一个实例,如果制造
·
2021-12-27 12:18
Java面经分享 | 全面分析面试流程中的QA
作者介绍:小傅哥,累计全网12万粉丝,21年4月23日,出版图书《重学
Java设计
模式》,博客bugstack虫洞栈的开创作者。
·
2021-12-22 18:11
java面试技巧面试
基于
Java设计
一个短链接生成系统
目录引言短链接的原理短链接怎么设计的引言相信大家在生活中,特别是最近的双十一活动期间,会收到很多短信,而那些短信都有两个特征,第一个是几乎都是垃圾短信,这个特点此处可以忽略不计,第二个特点是链接很短,比如下面这个:我们知道,短信有些是有字数限制的,直接放一个带满各种参数的链接,不合适,另外一点是,不想暴露参数。好处无非以下:太长的链接容易被限制长度短链接看着简洁,长链接看着容易懵安全,不想暴露参数
·
2021-12-09 10:02
详解
Java设计
模式之观察者模式(Observer Pattern)
当前流行的MVC(Model/View/Controller,模型/视图/控制器)架构中也应用了观察者模式,如下图所示。模型层Model提供的数据是视图层View所观察的对象,在视图层中包含了两个数据显示图表对象,一个是柱状图,一个是饼状图,同样的数据可能有不同的图表显示方式,如果模型层的数据发生改变,则两个图表对象将跟随着发生改变。这意味着图表对象依赖模型层提供的数据对象,因此数据对象的任何状态
虫链Java Library
·
2021-12-04 13:54
Java设计模式
java
观察者模式
mvc
jdk
设计模式
Java设计
模式之(十四)——策略模式
1、什么是策略模式?Defineafamilyofalgorithms,encapsulateeachone,andmaketheminterchangeable.Strategyletsthealgorithmvaryindependentlyfromclientsthatuseit.策略模式(StrategyPattern):定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。2、策略
YSOcean
·
2021-12-03 10:00
Java设计
模式之(十三)——模板方法模式
1、什么是模板模式?Definetheskeletonofanalgorithminanoperation,deferringsomestepstosubclasses.TemplateMethodletssubclassesredefinecertainstepsofanalgorithmwithoutchangingthealgorithm’sstructure.模板方法模式(Template
YSOcean
·
2021-12-02 09:00
Java设计
模式之(十二)——观察者模式
1、什么是观察者模式?Defineaone-to-manydependencybetweenobjectssothatwhenoneobjectchangesstate,allitsdependentsarenotifiedandupdatedautomatically.观察者模式(ObserverDesignPattern):在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对
YSOcean
·
2021-12-01 09:00
Java设计
模式之(十一)——享元模式
1、什么是享元模式?Usesharingtosupportlargenumbersoffine-grainedobjectsefficiently.享元模式(FlyweightPattern):使用共享对象可有效地支持大量的细粒度的对象。说人话:复用对象,节省内存。2、享元模式定义①、Flyweight——抽象享元角色是一个产品的抽象类,同时定义出对象的外部状态和内部状态的接口或实现。一个对象信息
YSOcean
·
2021-11-30 09:00
Java设计
模式之(十)——组合模式
1、什么是组合模式?Composeobjectsintotreestructurestorepresentpart-wholehierarchies.Compositeletsclientstreatindividualobjectsandcompositionsofobjectsuniformly.组合模式(CompositePattern):将对象组合成树形结构以表示“部分-整体”的层次结构,
YSOcean
·
2021-11-29 08:00
花了30天才肝出来,史上最全面
Java设计
模式总结,看完再也不会忘
本文所有内容均节选自《设计模式就该这样学》序言DesignPatterns:ElementsofReusableObject-OrientedSoftware(以下简称《设计模式》),一书由ErichGamma、RichardHelm、RalphJohnson和JohnVlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(GangofFour)”,而这本书也
Tom弹架构
·
2021-11-26 15:00
花了30天才肝出来,史上最全面
Java设计
模式总结,看完再也不会忘
本文所有内容均节选自《设计模式就该这样学》序言DesignPatterns:ElementsofReusableObject-OrientedSoftware(以下简称《设计模式》),一书由ErichGamma、RichardHelm、RalphJohnson和JohnVlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(GangofFour)”,而这本书也
·
2021-11-26 14:46
java架构设计模式
Java设计
模式之(九)——门面模式
1、什么是门面模式?Provideaunifiedinterfacetoasetofinterfacesinasubsystem.Facadedefinesahigher-levelinterfacethatmakesthesubsystemeasiertouse.门面模式(FacadePattern):也叫外观模式,要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高
YSOcean
·
2021-11-26 08:00
Java设计
模式之(八)——适配器模式
1、什么是适配器模式?Converttheinterfaceofaclassintoanotherinterfaceclientsexpect.Adapterletsclassesworktogetherthatcouldn'totherwisebecauseofincompatibleinterfaces.适配器模式(AdapterPattern):将一个类的接口变换成客户端所期待的另一种接口,
YSOcean
·
2021-11-25 08:00
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他