设计模式
文章平均质量分 72
一颗洛米
此生若能得幸福安稳, 谁又愿颠沛流离
展开
-
设计模式简介(一)
设计模式:是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了重用代码、让代 码更容易被他人理解并且保证了可靠性。说白了就是被广大码农用烂了的优良代码。常见的设计模式:设计模式的学会是需要把这些东西融入到自己平时的项目代码中,不是看一下书就会了的!如果自己不会融入思考使用,这些永远都是一句虚话。分类创建型模式:(用于创建对象的模板) — 单...原创 2018-04-10 11:23:50 · 127 阅读 · 0 评论 -
设计模式(十)——桥接模式
1、场景商城系统中常见的商品分类,以电脑为类,如何处理好商品分类销售的问题? 我们可以用多继承结构实现右图的关系 问题 — 扩展性(类个数膨胀问题): 1、如果要增加一个新的电脑类型智能手机,则要增加各个品牌下面的类 2、如果要增加一个新的品牌,也要增加各种电脑类型的类。 — 违反单一职责原则 1、一个类:联想笔记本,有两个引起这个类变化的原因2、桥接模式核心要点 处理多层...原创 2018-08-16 22:23:36 · 233 阅读 · 0 评论 -
设计模式(九)——代理模式
一、代理模式1、核心作用核心作用 通过代理,控制对象的访问!可以详细控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(即AOP的微观实现!) 实现将统一流程代码放到代理类中处理。 AOP(面向切面编程)的核心机制 2、核心角色 抽象角色 定义代理角色和真实角色的公共对外方法 真实角色 实现抽象角色,定义真实角色所要实现的业务逻辑,...原创 2018-08-16 00:46:19 · 234 阅读 · 0 评论 -
设计模式(八)——适配器模式
1、结构型模式核心作用是从程序的结构上实现送耦合,从而可以扩大整体的类结构,来解决更大的问题。 分类 适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、亨元模式2、适配器模式1、生活中的场景转接头之类的2、什么是适配器模式?将类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3、模式中的角...原创 2018-08-15 21:50:27 · 190 阅读 · 0 评论 -
创建型模式小结
创建型模式:都是用来帮我们创建对象的— 单例模式保证一个类只有一个类,并且提供一个访问该实例的全局访问点。— 工厂模式简单工厂模式 用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码) 工厂方法模式 用来生产同一等级结构中的固定产品。(支持增加任意产品) 建造者模式 分离了对象子组件的单独构造(由builder负责)和装配(由director负责),从而...原创 2018-08-15 10:22:52 · 186 阅读 · 0 评论 -
设计模式(六)——原型模式
1、场景思考一下:克隆技术是怎样的过程? JavaScript中的继承是怎样实现的?那里面也有protoType2、原型模式通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以通过使用原型模式。 就是java中的克隆技术,以某个对象为原型,复制出新的对象。显然,新的对象具备原型对象的特点。 优势有:效率高(直接克隆,避免了重新执行构造过程的步骤) 克隆类似于new,但是...原创 2018-08-15 00:12:59 · 221 阅读 · 0 评论 -
设计模式(七)——单例模式
一、单例模式1、介绍核心作用 — 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。 常用场景: — Windows的任务管理器就是一个典型的单例模式 — Windows中的回收站也是一个单例模式,整个系统运行过程中,回收站一直维持着仅有的一个实例。 — 项目中,读取配置文件的时候,一般也只有一个对象,没有必要每次使用配置文件的时候都去new一个对象。 — 网站的计数...原创 2018-08-15 09:10:45 · 330 阅读 · 0 评论 -
设计模式(四)——抽象工厂模式
一、抽象工厂模式— 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力,支持增加产品族)— 抽象工厂模式是工厂方法模式的升级版,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。1、抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。围绕一个超级工厂创建其他工厂,该超级工厂又称为工厂中的工厂。属于创...原创 2018-04-13 11:20:41 · 172 阅读 · 0 评论 -
设计模式(三)——工厂方法模式
一、工厂方法模式1、模式动机考虑这样一个系统,按钮工厂类可以返回一个具体的按钮实例,如圆形按钮、矩形按钮、菱形按钮等。在这个系统中,如果需要增加一种新类型的按钮,如椭圆形按钮,那么除了增加一个新的具体产品类之外,还需要修改工厂类的代码,这就使得整个设计在一定程度上违反了“开闭原则”。现在我们对该系统进行改进,不再设计一个按钮工厂来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门...原创 2018-04-12 16:10:47 · 163 阅读 · 0 评论 -
设计模式(二)——简单工厂模式
一、创建型模式创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道他们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式隐藏了类的实例的创建细节,通过隐藏对...原创 2018-04-10 15:19:11 · 239 阅读 · 0 评论 -
设计模式(五)——建造者模式
一、建造者模式1、场景— 我们要建造一个复杂的产品。比如火箭,这个复杂的产品的创建有这个一个问题:装配这些子组件是不是有个步骤的问题。— 在实际开发中,我们所需要的对象构建时,也非常复杂,有很多步骤需要处理。2、建造模式的本质分离了对象子组件的单独构造(由Builder负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用域:对某个对象的构造过程复杂的情...原创 2018-08-14 21:18:04 · 197 阅读 · 0 评论