
设计模式
子之乐鱼之乐
偷得浮生半日闲
展开
-
单例模式
单例模式1. 使用Singleton的好处在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。2.应用场景:3.优缺点:4.注意事项:5.五种单例模式相关博客:1.https://blog.youkuaiyun.com/ljhljh8888/article/details/8017701/ 单例的好处2.https://www.cnblogs.com...原创 2019-08-12 20:04:05 · 229 阅读 · 0 评论 -
代理模式及反向代理
代理模式简介代理模式的定义与特点代理模式的优缺点代理模式的结构简介在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大...转载 2019-08-12 20:12:45 · 663 阅读 · 0 评论 -
工厂模式
工厂模式简介定义工厂方法模式的优缺点工厂模式的结构简介在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满足“开闭原则”的前提下,客户随意增删或改变对软件相关对象的使用呢?这就是本节要讨论的问题。模式的定义与特点定义工厂方法(Fa...转载 2019-08-12 20:19:25 · 123 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式前言抽象工厂模式的定义与特点抽象工厂模式的优缺点抽象工厂模式的结构前言前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如农场里既养动物又种植物,电器厂既生产电视机又...转载 2019-08-12 20:23:44 · 250 阅读 · 0 评论 -
设计模式概述
设计模式概述软件设计模式的产生背景软件设计模式的概念与意义1. 软件设计模式的概念2. 学习设计模式的意义软件设计模式的基本要素1. 模式名称2. 问题3. 解决方案4. 效果软件设计模式的产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher A...转载 2019-08-13 09:12:34 · 243 阅读 · 0 评论 -
结构型模式
结构型模式结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。结构型模式分为以下 7 种:结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复...转载 2019-08-13 09:40:16 · 238 阅读 · 0 评论 -
行为型模式
行为型模式概览十一种行为型模式:概览行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大...转载 2019-08-13 09:44:00 · 285 阅读 · 0 评论 -
原型模式
原型模式前言原型模式的定义与特点原型模式的结构前言在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。原型模式的定义与特点原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型...转载 2019-08-13 09:48:37 · 116 阅读 · 0 评论 -
深复制浅复制
深复制与浅复制:本质上都是基于原型模式的理念,复制本身即是以原对象的数据及结构为原型进行拷贝,深复制即是对于对象及其子对象(数据与结构)的完全克隆,而浅复制只是对对象本身克隆。Java中:浅复制只需对象实现cloneable接口即可,接口中对于clone()的实现即是浅复制;深复制则需重写clone()方法或自定义方法,一般最简单的深复制实现是将对象整个序列化为流式数据后再反序列化为O...原创 2019-08-13 09:52:30 · 174 阅读 · 0 评论