设计模式
文章平均质量分 81
皮蛋小粥
信阳师范学院计算机学院学生
展开
-
设计模式-工厂模式
上面写过单例模式,下面准备把我知道的几个模式都给复述出来。工厂模式:实例化对象,用工厂方法代替new操作,包括工厂方法模式和抽象工厂模式,后者是前者的扩展。目的:定义一个接口来创建对象,但是让子类来决定那些类需要被实例化,工厂方法吧实例化的工作推迟到子类中去实现。范围“:有一组类似的对象需要创建,在编码是不能遇见需要创建那种类的实例,系统需要考虑扩展性。动机:尽量低耦合,产品和客户原创 2017-05-18 13:49:00 · 312 阅读 · 0 评论 -
组合模式
在我写外观模式的时候,我是举最近在做的一个考勤的例子,不熟悉的小伙伴可以去看一下前面的文章哦,在那个例子中我们分析了一下,考勤中每种类别员工的工作日计算方式是不一样的,比如说一般员工周一到周五上班,有些员工的工作比较累上一天休一天,那么他们每个月上班天数是不一样的;但是出勤的计算天数是一样的,根据打卡来计算。当时我的处理方式是,把计算打卡天数的方法写成抽象类的默认方法供特殊员工去重写,出勤天数写成...原创 2018-10-16 21:10:55 · 154 阅读 · 0 评论 -
装饰器模式
在学装饰器模式的时候,我想到了责任链模式中的级别这个概念,为什么这么说,在一个OA系统中我们会有不同级别(或者说权限范围不同)的管理员,首先我们要明确不同级别的管理员它也是管理员,我们那如何在管理员这个实体的基础上动态的去设置他们的权限范围呢?我们把权限当作一种挂饰,这种挂饰放在不同的管理员身上就代表他们是什么管理员,那么这种挂饰如何放到管理员身上呢?这就需要装饰器模式了,而装饰器模式也就是实现了...原创 2018-10-09 19:57:46 · 160 阅读 · 0 评论 -
桥接模式
我是在脑壳疼的情况下(今天的工作的量很大,内容很丰富,我很开心,以至于脑壳疼)写下这篇关于桥接模式的文章,不正之处请多指教。何谓桥接模式,用一座桥连接起来的模式,珠港澳大桥连接了香港、珠海和澳门,在一开始的时候他们三之间都是隔海相望,相互独立,但是他们三连起来了,相互独立又彼此关联,所以这里我把中国比做一个接口(跟珠港澳并没有关系,哈哈),那么实现了这个接口的城市就是属于中国,这是一个具体的实...原创 2018-10-15 21:33:18 · 172 阅读 · 1 评论 -
创建型模式(一)
在我的公众号中,关于七种结构型设计模式已经全部讲完了:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。而十一种行为型模式我们说了4种:策略模式、模板方法模式、观察者模式、责任链模式。关于创建型设计模式我们还没有聊过,所以今天我们来聊一聊创建型模式,创建型模式一共有五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。今天我们先回顾一下工厂方法模式和抽象工厂模式...原创 2018-10-18 20:54:22 · 220 阅读 · 0 评论 -
责任链模式
在公众号的前面我们说策略模式的时候,我们说各种策略的对象和一个行为随着策略对象改变而改变的。换句话说,针对客户端传来不同的参数进行实例不同策略的对象,也就是说保证了客户端和服务端的解耦。而责任链模式是为客户端的请求创建了一个接收者对象的链,也就是处理这个请求的对象有一串,如果一个对象不能处理,那么串上的其他对象继续处理。责任链模式(Chain of Responsibility Patt...原创 2018-10-08 19:22:39 · 200 阅读 · 0 评论 -
外观模式
我发现写设计模式的文章,怎么举例子是个技术活啊。。。很多东西你不实际去用真的不会真正的体会到设计模式带来的一些好处,最近公司的一个客户要做一个考勤功能,这个功能虽然是我们公司产品的标准功能,但是有些东西还是二次开发一下的。虽然很费劲的实现了大致的功能,但是代码乱的一塌糊涂,趁着周末整理了一下代码,也试着用了一下模版方法模式(计算出勤率),适配器模式(考勤接口和工资接口的对接),在我把23种设计模式...原创 2018-10-14 21:12:56 · 301 阅读 · 0 评论 -
享元模式
转载于:https://blog.csdn.net/justloveyou_/article/details/55045638摘要: 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式通过共享技术实现相同或相似对象的重用提高系统资源的利用率。本文首先阐述了享元模式要解决的问...转载 2018-10-17 21:29:05 · 196 阅读 · 0 评论 -
代理模式
学代理模式(静态代理,下面所属都指的是静态代理)的时候,敲着敲着代码,觉得怎么感觉像在写装饰器模式一样。所以在叙述代理模式的时候,我会用自己的理解去区分两种模式的区别。在我上大学的城市,是没有苹果直营店的,但是有苹果的授权店,这个授权店概念就可以理解为代理。通过这个授权店我们同样能买到苹果的产品。那么我怎么理解代理模式和装饰器模式的区别呢?首先看你的目的:你是需要在一个类上面增加功能(而且...原创 2018-10-11 17:59:08 · 248 阅读 · 0 评论 -
设计模式-单例模式懒汉和饿汉的比较
设计模式指的是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。目的:使用实际模式为了可重用代码,让代码更容易被他人理解,保证代码的可靠性。有哪些设计模式:基本模式有23种:单例模式,工厂模式................对于配置文件,工具类,线程池,缓存,日志对象等,如果创造出多个实例,就会导致许多问题,如占用过多的资源,不一致的结果等,采用单例模式解决。常原创 2017-05-18 13:20:13 · 2881 阅读 · 0 评论 -
创建型模式(二)
关于创建型模式中工厂方法模式,抽象工厂模式在上一篇文章中我们了解了一下,今天我们看一下单例模式,建造者模式,原型模式。单例模式单例模式我们用的很多,我想大家也都理解这种模式,就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。...原创 2018-10-22 19:05:52 · 235 阅读 · 0 评论