设计模式
我的师傅不是唐三藏
今天开始写博客,分享和记录一下自己的学习成长历程,先自我介绍下。我是计算机专业学生,大学学过C/C++、JAVA、数据结构、数据库、算法等课程。今天开始在CSDN上一起学习一起成长。
加油!!!
展开
-
策略模式
策略模式 它定义了算法家族,分贝封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户端。这是程杰在《大话设计模式》里面对策略模式的简单定义。 1.策略模式实现 策略模式在生活中用的最多的地方大概就是打折,打折用的最多的地方大概就是超市。好了,来模拟一下超市使用不同方案打折的收费结果。为了说明这个模式的用法,简单的举了两个打折方案:一是正常收费(很sb);二是在总额的基础上...原创 2019-11-13 23:07:46 · 170 阅读 · 0 评论 -
装饰模式
装饰模式 装饰模式又被称为包装模式。装饰模式动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活,主要就是继承关系的一个替换。 1.代码实现 装饰模式举的例子就是人在穿衣服的过程,肯定是有先后顺序,如果不当的穿衣顺序可能会闹了笑话。装饰模式特别的形象,如果不使用装饰模式,可能会在客户端穿一件衣服展示一下,最后也会完成这个穿衣服的过程,但是实际情况不是这样的,不可能穿一件衣...原创 2019-11-10 20:24:19 · 146 阅读 · 0 评论 -
建造者模式
建造者模式 建造者模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程,通过子类继承和重载的方法,动态的创建具有复合属性的对象。 1.代码实现 这里还是拿程杰的《大话设计模式》一书中让小菜画不同外貌特征的小人为例,叙述整个建造者模式的实现过程。为了不丢三落四,小人的创建统一让设计师(Director)来指挥工程队(PersonBuilder)完成,客户只是给设计师说具体...原创 2019-11-10 14:08:01 · 156 阅读 · 0 评论 -
原型模式
原型模式 原型模式(Prototype)是一种对象创建型模式,它采用复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。如果是数值类型的数据,原型对象和创建的对象会各自有一份单独的数据,如果是对象类型的数据,原型对象和创建的新对象会指向同一个引用。在这里就拿程杰在《大话设计模式》一书里面的写多份简历来举例,说明整个原型模式的实现以及浅克隆和深克隆的区别。...原创 2019-11-10 00:33:52 · 135 阅读 · 0 评论 -
单例模式
单例模式 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的一个对象。也就是说,在整个程序空间中,改类只存在一个实例对象。 1.饿汉式单例模式 私有化构造器 在类的内部创建一个类的实例,且为static 私有化对象,通过公共方法调用 此公共方法只能通过类来调用,因为设置的是static,同时类的实例也是static 由“饿汉式”得知,因为比较饥饿,所以先将对象实例化,在...原创 2019-11-08 12:32:35 · 112 阅读 · 0 评论 -
工厂模式的一个应用——计算器
工厂模式写简单计算器 学了三个工厂模式,各有各的长处,我选择了工厂方法模式做了一个练习。做了一个计算器,当然这个计算器省略了很多客户端的代码,只是为了表达出工厂模式的应用即可,直接看代码。这个例子也是程杰老师在《大话设计模式》里面有讲到过,可能没有学习设计模式之前我也会和程老师带的菜鸟一样写出书中的第一个版本那样的代码。 代码涉及到了加减乘除四个运算以及四个运算获得实例化对象的方法。使用到的操作...原创 2019-11-01 19:58:01 · 154 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式 抽象工厂模式是所有形态模式中最为抽象和最具一般性的,抽象工厂模式可以向客户端提供接口,使得客户端在不必要指定产品的具体类型情况下,能够创建多个产品族的产品抽象。这里涉及到一个产品和产品族的概念,我百度百科找了一下,产品族。 1.代码实现 写完抽象工厂模式的代码后发现我的例子真的不太适合来说明这个抽象工厂模式,但是能够表达清楚原理就行,不必要计较合理不合理。比如说在学校有老师和学生,这...原创 2019-11-01 18:49:28 · 1849 阅读 · 0 评论 -
工厂方法模式
工厂方法模式 工厂方法模式同样属于类的创建型模式,又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步才抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。看这篇文章之前首先要看简单工厂模型,才有对比性,能够更加了解...原创 2019-10-27 11:24:53 · 129 阅读 · 0 评论 -
简单工厂模式
简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责穿件其他类的实例,被创建的实例通常都具有共同的父类。 1.Java代码实现 第一版:没有类实例创建的工厂,每个类的对象实例化需在主函数实现,使得主函数代码很长,不容易维护,不容易扩展。代码如下: // Apple.java class Apple{ public void get() { ...原创 2019-10-26 10:49:09 · 144 阅读 · 0 评论