1 经常的常

尚未进行身份认证

暂无相关简介

等级
TA的排名 12w+

行为型模式之责任链模式

文章目录责任链模式的定义责任链模式的结构责任链模式的实现责任链模式的应用场景责任链模式的优缺点在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度...

2020-03-27 15:44:50

行为型模式之命令模式

文章目录命令模式的定义命令模式的结构命令模式的实现命令模式的应用场景命令模式的优缺点在软件开发系统中,常常出现“方法的请求者”与“方法的实现者”之间存在紧密的耦合关系。这不利于软件功能的扩展与维护。例如,想对行为进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与方法的实现者解耦?”变得很重要,命令模式能很好地解决这个问题。在现实生活中,这样的例子也很多,例如,电视机遥控器(命...

2020-03-27 10:13:22

行为型模式之策略模式

文章目录策略模式的定义策略模式的结构策略模式的实现策略模式的应用场景策略模式的优缺点在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能,如果使...

2020-03-26 14:48:03

行为型模式之模板方法模式

文章目录模板方法模式的定义模板方法模式的结构模板方法模式的实现模板方法模式的应用场景模板方法模式的优缺点在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号...

2020-03-26 08:38:36

结构型模式之组合模式

文章目录组合模式的定义组合模式的结构组合模式的实现透明式:安全式:组合模式的应用场景组合模式的优缺点我们知道古代的皇帝想要管理国家,是不可能直接管理到具体的每一个百姓的,因此设置了很多的机构,比如说三省六部,这些机构下边又会有很多的小组织,他们共同的管理这个国家。再比如现在的公司, 下面有很多的部门,每个部门下有会分组。在软件开发中也是这样,例如,文件系统中的文件与文件夹、窗体程序中的简单控...

2020-03-25 15:51:08

结构型模式之享元模式

文章目录享元模式的定义与特点享元模式的结构享元模式的实现享元模式的应用场景享元模式的内部状态和外部状态面向对象技术可以很好的解决一些灵活性或可扩展性问题,但是在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降的问题,享元模式正是为解决这一类问题而诞生的。享元模式的定义与特点享元(Flyweight)模式的定义:享元模式又称轻量级模式,是对象池(类似...

2020-03-25 10:54:31

结构型模式之外观(门面)模式

文章目录外观模式的定义与特点外观模式的结构外观模式的实现外观模式的应用场景在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”...

2020-03-24 16:17:42

结构型模式之装饰器(包装)模式

文章目录装饰器模式的定义与特点装饰器模式的结构装饰器模式的实现装饰器模式的应用场景在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰模式来实现。装饰器模式的定义与特点装饰(Decorator)模式的定义:指在不改...

2020-03-24 14:49:59

结构型模式之桥接模式

文章目录桥接模式的定义与特点桥接模式的结构桥接模式的实现桥接模式的应用场景在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难。当然,这样的例子还有很多,如不同颜色和字体的文字、不同品牌和功率...

2020-03-19 15:21:55

结构型模式之适配器模式

文章目录适配器模式的定义与特点适配器模式的结构适配器模式的实现类适配器模式对象适配器模式应用场景在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人和讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。在软件设计中也可能出现:需要开发的具有某种业务功能的组件...

2020-03-19 14:09:22

结构型模式之代理模式

文章目录代理模式的定义与特点代理模式的结构代理模式的实现静态代理动态代理JDK 动态代理cglib动态代理JDK 和cglib动态代理的区别在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如买房, 你不想直接去售楼部,可以去房产中介代办;想找女朋...

2020-03-18 16:24:35

创建型模式之建造者模式(Builder模式)

文章目录建造者模式的定义与特点建造者模式的结构建造者模式的实现应用场景建造者模式和工厂模式的区别建造者模式的扩展在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去...

2020-03-18 09:14:25

创建型模式之抽象工厂模式

文章目录抽象工厂模式的定义与特点抽象工厂模式的结构抽象工厂模式的实现应用场景前面介绍的工厂方法模式中考虑的是一类产品的生产,如手机厂只生产手机、电视机厂只生产电视机等。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如现在疫情期间,好多汽车厂、电器厂都开始生产口罩了,不但生产同等级的产品,还生产其他的产品。...

2020-03-16 14:17:11

创建型模式之工厂方法模式

文章目录工厂方法模式的定义与特点工厂方法模式的结构工厂方法模式的实现应用场景在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满足“开闭原则”的前提下,客户随意增删或改变对软件相关对象的使用呢?这就是本文要讨论的问题。工厂方法模式的定义...

2020-03-16 10:43:28

创建型模式之原型模式(深拷贝/浅拷贝)

文章目录原型模式的定义与特点原型模式的结构原型模式的实现浅克隆浅克隆带来的问题深克隆序列化实现深克隆json实现深克隆原型模式总结原型模式的定义与特点原型(Prototype)模式的定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。原型模式的结构原型模...

2020-03-13 17:11:14

创建型模式之单例模式(相信你看完会对单例模式有新的认识)

文章目录单例模式的定义与特点单例模式的结构单例模式的实现饿汉式懒汉式线程破坏懒汉式单例的事故现场:单例模式的定义与特点单例(Singleton)模式的定义:是指确保一个类在任何情况下都绝对只有一个实例,隐藏其所有的构造方法,并提供一个全局访问点。属于创建型模式。单例模式有 3 个特点:1.单例类只有一个实例对象;2.该单例对象必须由单例类自行创建;3.单例类对外提供一个访问该单例的全...

2020-03-13 11:53:12

设计模式前篇(总览)

文章目录软件设计模式的产生背景软件设计模式的概念与意义软件设计模式的基本要素23 种设计模式的分类和功能软件设计模式的产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造(A Pat...

2020-03-09 15:34:26

软件设计七大原则,看完这一篇就够了

开闭原则(Open-Closed Principle)定义: 开闭原则是指一个软件实体如类、模块和函数应该 对扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。强 调的是用抽象构建框架,用实现扩展细节。优点: 可以提高软件系统的可复用性及可维护性。 开闭原则,是面向对象设计中最基础的设计原则。它指导我们如何建立稳定灵活的系统, 例如:我们版本更新,我尽可能不修改源代码,但...

2020-03-04 11:28:49

正则表达式符号释义

元字符. :匹配除换行符以外的任意字符\w :匹配字母、数字、下划线和汉字\s :匹配任意的空格字符\d :匹配数字\b :匹配单词的开始或结束反义符(大写)\W :匹配不是字母、数字、下划线和汉字的字符\S :匹配不是空格的字符\D :匹配非数字的字符\B :匹配不是单词开头或结尾的位置边界符^ :匹配字符串的开始$ :匹配字符串的结束[x] :匹配单个字符,x表示任...

2020-03-02 10:58:13

工欲善其事必先利其器-JVM相关参数、命令、常用工具

注意:本文不做相关参数、命令、常用工具的演示。JVM参数大体上分为四类:1.标准参数 :就是不会随着jdk的版本不同而不同。如java -version、java -help 2.-X参数 :如 java -Xint -version、 java -Xmixed -version3.-XX参数:-XX:[+/-] :+就是开启 -就是关闭。比如: -XX:+UseG1GC 开启G...

2020-02-29 14:49:42

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】— 学习力挑战》的文章入选【每日精选】的博主
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主