
android 设计模式
文章平均质量分 82
对常用的设计模式进行整理分析。便于日后回头学习。
灯塔@kuaidao
giao~ ,一起奥力给!
展开
-
GoF设计模式的基石-类间关系
软件系统在运行时,类将实例化成对象,并由这些对象来协作完成各项业务功能,类与类之间关系最终会反映在运行时类实例化对象间的关系。实例化对象之间关系用来模拟真实世界中各种关系。聚合,组合和普通关联的区别在语义,产品和客户之间不能使用聚合和组合,第一是因为,产品和客户之间没有整体与部分的关系,也就不会存在组合中整体与部分的同生共死关系。产品不是客户的部分,只能使用一般的关联关系。原创 2023-04-05 15:45:30 · 522 阅读 · 0 评论 -
设计模式分类
1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是:简单工厂模式(Simple Factory);工厂方法模式(Factory Method);抽象工厂模式(原创 2017-02-08 11:13:40 · 426 阅读 · 0 评论 -
23种设计模式-单例模式
前言单例模式比较常用,开发过程中时不时会写几个单例工具类,提供给Team使用。比较常用的写法这三种package com.nuoyuan.preone.utils;/** * Author: yangweichao * Date: 2019/2/21 4:04 PM * Description: 一个进程中只存在唯一一个对象 */// 饿汉式public class ...原创 2019-02-21 16:18:14 · 239 阅读 · 0 评论 -
23种设计模式之责任链设计模式
前言设计模式重要性不言而喻。掌握了设计模式写法就好比学会了一套通用武林绝学,这篇属于责任链设计模式,闲话不多说引入例子:中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从夫、夫死从子”, 也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的,举 个例子来说,一个女的要出去逛街,同样这样的一个请求,在她没有出嫁前她必须征得父亲的同意,出嫁原创 2017-07-27 16:17:54 · 593 阅读 · 0 评论 -
设计模式之_组合模式(下)
接上一篇(组合模式上) 组合模式上篇 进入这个 Client 程序并没 有改变多少呀,非常正确,树的组装你是跑不了的,你要知道在项目中使用数据库来存储这些信息的,你 从数据库中提出出来哪些人要分配到树枝,哪些人要分配到树叶,树枝与树枝、树叶的关系,这些都需要 人去定义,通常这里使用一个界面去配置,在数据库中是一个标志信息,例如定义这样一张表: 从这张表中已经定义个一个树形结构,我们要做转载 2017-03-20 16:25:24 · 642 阅读 · 0 评论 -
23中设计模式之_原型模式(深/浅拷贝)
前言原型模式其实java Object中已经提供了一个Clone( )方法,平时很少用到,最近读Retrofit源码时候看到有这种使用方式。 定义原型模式就是在系统clone()标记的基础上,对Clone()进行复写,不同的操作可以产生两种拷贝模式。UML类图源码分析今天我们来讲原型模式,这个模式的简单程度是仅次于单例模式和迭代器模式,非常简单,但是要使 用好这个模...原创 2017-03-14 17:51:10 · 7762 阅读 · 19 评论 -
23种设计模式之_命令行模式
前言 设计模式也已经总结了十多种,总的来说的还是对java的三大特性进行反复使用,形成的固定写法,越往后面学习,越觉得23种设计模式就是对java三大特性总结的缩小版。仅个人愚见定义:命令行模式并非一行行命令的执行,而是写法上类似对一个具体逻辑的封装。(内部进行封装具体的实现)Uml类图衍生出来命令行模式写法 源码分析由于实在是简单,看着类图就可以联想出来具体的实现方式,这里不进行贴代码,只是把原创 2017-03-13 16:41:40 · 3844 阅读 · 0 评论 -
23中设计模式之_状态模式
23中设计模式之_状态模式前言状态模式听起来有点像策略模式,根据不同的状态执行不同的程序代码,真正去理解的时候,才知道另有一片天地。引入现在城市发展很快,百万级人口的城市一堆一堆的,那其中有两个东西的发明在城市的发展中起到非 常重要的作用:一个是汽车,一个呢是…,猜猜看,是什么?是电梯!汽车让城市可以横向扩展,电梯让 城市可以纵向延伸,向空中伸展。汽车对城市的发展我们就不说了,电梯,你想想看,如原创 2017-03-09 16:57:20 · 898 阅读 · 0 评论 -
23种设计模式之---备忘录模式
前言网上搜索备忘录设计模式,基本上均是在一个GoF,基础上衍生下来的。为了避免重复造轮子,这里会结合网上demo,和自己理解进行总结定义:备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。角色分类: 1) 备忘录(Memento)角色:备忘录角色存储原创 2017-03-07 16:14:08 · 9203 阅读 · 2 评论 -
设计模式_中介者模式下
建立了两个抽象类 AbstractMediator 和 AbstractColeague,每个对象只是与中介者 Mediator 之间产 生依赖,与其他对象之间没有直接的关系,AbstractMediator 的作用是把中介者的抽象定义,定义了一个 抽象方法 execute,我们来看源代码:public abstract class AbstractMediator {protected Pu转载 2017-03-06 23:09:01 · 753 阅读 · 0 评论 -
23种设计模式之——中介者模式
前言 随着学习的不断深入,在重构代码的同时会考虑引用一些设计模式,来增加代码的可读性,健壮性,可维护性。并且尽可能的符合设计原则中介者模式定义:中介者模式类MVP模式,V——->p<———M ,而M 和 V 是不直接进行交互的类别:行为型类图:角色定义: 从类图中看,中介者模式有以下几部分组成: 抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。 具体原创 2017-03-06 15:34:02 · 602 阅读 · 0 评论 -
23种设计模式之_解释器模式
定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 类型:行为类模式 类图:解释器模式的结构抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作。具体解释任务由它的各个实现类来完成,具体的解释器分别由终结符解释器TerminalExpression和非终结符解释器Nonterm原创 2017-03-02 18:01:49 · 742 阅读 · 0 评论 -
23种设计模式之——责任链模式(okhttp 拦截器)
前言网络七层协议在现实中的责任链模型之一就是网络连接.对与程序猿而言,七层或五层的网络连接模型是肯定知道的. 当一个网络请求发出时,需要经过应用层->传输层->网络层->连接层->物理层 收到响应后正好反过来,物理层->连接层->网络层->传输层->应用层 在请求经过各层时,由每层轮流处理.每层都可以对请求或响应进行处理.并可以中断链接,以自身为终点返回响应古代的三从四德中国古代对妇女制定了“原创 2017-02-15 19:41:09 · 7072 阅读 · 1 评论 -
常用设计模式-代理模式
常用设计模式-代理模式代理模式uml类图代理被代理实现统一的接口常用设计模式-代理模式1.代理模式uml类图就拿最近比较火的某某wang 事件进行举例。类少直接上代码!package dailimodel;/** * * 实现简单代理模式必要条件 * * 代理类,被代理类,代理类和被代理实现的统一接口,调用者类 * * 电视台 mangguoTV * * 代理模式,开原创 2016-09-07 14:48:35 · 580 阅读 · 0 评论 -
23种设计模式之_享元模式
一什么是享元模式二享元模式几个角色抽象享元类Flyweight具体享元类FlyWeightAImlFlyWeightBIml享元工厂类FlyweightFactoiy客户类Client三享元模式使用场景四代码分析设计模式的熟练掌握,能够更容易理解系统的底层架构实现。一、什么是享元模式 享元模式(Flyweight Pattern):以共享的方式高效的支持大量的细粒度对象。通过复用内存中原创 2017-02-07 16:01:42 · 3667 阅读 · 0 评论 -
设计模式之-工厂模式
工厂模式分类为什么工厂类中的方法必须是静态的抽象工厂Abstract Factory模式Abstract Factory模式的结构设计模式之-工厂模式1.工厂模式分类简单工厂模式,抽象工厂模式,静态工厂模式,工厂方法模式静态工厂模式 ( Static Factory )就是静态类形式简单工厂模式:(Simple Factory Pattern) 通过专门定义一个类来负责创建其他类的实例,被创建原创 2016-09-07 19:09:42 · 799 阅读 · 0 评论 -
23种设计模式桥连模式Bridge
重点内容 1.什么是桥梁模式 2.哪些地方用到桥梁模式 3.桥梁模式的优点桥梁模式:(bridge)又称桥接模式,属于结构型。主要考虑对象结构,对象之间的依赖关系等通用类图:哪些地方用到桥梁模式?由于实际的需要,某个类具有两个或两个以上的维度变化,如果只是用继承将无法实现这种需要,或者使得设计变得相当臃肿。这样可以考虑到桥接模式Eg:通过cpu 和品牌可以判定电脑的优劣。那么三者之间的关系可以原创 2016-09-20 15:53:17 · 704 阅读 · 0 评论 -
23中设计模式之门面模式
重点内容 1.什么是门面模式 2.门面结构类图 3.门面模式使用场景先说门面模式属于结构型模式中设计模式,主要解决对象组成和对象之间的依赖关系。门面模式:外部与子系统进行通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。2.门面模式结构:很直观,想和子系统内部模块A,B,C.通信必须通过Facade对象来建立联系eg:例子package Facade;//挂号、门诊、划价、化原创 2016-09-20 11:33:58 · 438 阅读 · 0 评论 -
23种设计模式之策略模式
设计模式分类uml类图优点策略模式优点高内聚低耦合符合ocp原则重点内容1.设计模式分类:创建型,结构型,行为型。策略模式属于 行为型。2.uml类图3.优点(上uml 类图)个人认为:策略模式好像是switch,给定不同的策略,执行不同策略路径。也就是一个泛型的使用具体源码:ZhaoYunMain 类package strategy;/** * * @author weichyang原创 2016-09-19 14:44:25 · 469 阅读 · 0 评论 -
设计模式之-装饰者模式
demo类生成的uml源码FatherReader 类SchoolReport 类Decorator 类HighScoreDecorator 类SortDecorator 类标准类图重点内容 1.什么是装饰模式 2.装饰模式使用场景 3.使用装饰模式需要注意那些点 4.装饰者设计模式优点缺点。Eg:解释一下面向对象: 面向对象思想的核心之一,就是模拟真实世界,把真实世界中的原创 2016-09-18 16:17:09 · 452 阅读 · 0 评论 -
23种设计模式之模板方法模式
重点内容1.什么是模板方法模式?2.那些地方会用到模板方法模式?3.使用该模式需要注意那些点?4.模板方法引出的问题?Eg:模板方法平时用的地方很多,先上Uml类图,这里用悍马模型进行举例,悍马车的几种主要参数进行抽象。不同型号的车有不同的参数。不同子类进行多样化实现,这里有几种放/public abstract class HummerModel {/** 首先,这个模型要能够被发动起来,别原创 2016-09-18 13:49:02 · 693 阅读 · 0 评论 -
23种设计模式之_构建者模式
设计模式的熟练掌握,能够更容易理解系统的底层架构实现。一、什么是构建者模式将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示。个人理解:构建者模式就是通过一个公共调配类,根据不同的需求,去调配已经实现的不同功能函数,拼装成不同产品的一种创建型设计模式类图二、建造者模式几个角色1.CarModel定义产品的所有属性2.CarBuilder构建规范产品的组建,一般是由子类实现。3.原创 2017-02-04 16:47:06 · 1427 阅读 · 0 评论