- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 Android约束布局ConstraintLayout实现九宫格
Android约束布局ConstraintLayout实现九宫格这个实现是不能动态添加项目的,只是固定项目的九宫格,如果要动态增加item的最好还是使用GridLayout。不多说了直接上代码:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:an...
2018-09-19 15:47:50 1595
转载 备忘录模式(Memento)
备忘录模式又叫做快照模式(Snapshot Pattern)或 Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。 备忘录模式涉及的角色有三个:备忘录角色(Memento),发起人角色(Originator),负...
2018-09-05 09:56:19 112
转载 命令模式(Command)
命令模式的目的就是将命令的发出者和执行者之间解耦。 我们以司令员给士兵发布指令执行为例://命令接口类public interface Command{ void action();}public class MyCommand implements Command{ private Receiver receiver; public MyComman...
2018-09-04 17:00:53 124
转载 责任链模式(Chain of Responsibility)
责任链模式是一种对象的行为模式,在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条莲。请求在这个链上传递,直到链上的某个对象决定处理此请求。 既然是设计模式,必然有其鲜明代码的主体框架,如下: 首先定义一个抽象的处理角色Handler,其次是具体实现类ConcreteHandler,在ConcreteHandler我们通过getNextHandler()来判断是否还有下一个责...
2018-09-04 16:25:10 110
转载 迭代子模式(Iterator)
顾名思义,迭代器模式就是顺序访问集合中的对象。这句话有两层意思:一是需要遍历的对象(集合对象),二是迭代器对象,用于对集合进行遍历访问。public interface Collection{ public Iterator iterator(); //取集合对象 public Object get(int i); //取集合大小 public i...
2018-09-04 14:27:11 117
转载 观察者模式(Observer)
观察者模式:当一个对象发生变化的时候,其它依赖该对象的对象都会收到通知,并且随着发生变化。public interface Observer{ void update();}public class ObserverA implements Observer{ @override public void update() { Syste...
2018-09-04 10:37:54 109
转载 模板方法模式(Template Method)
模板方法模式是基于继承的代码复用的基本技术。 模板方法模式需要开发抽象类和具体子类的设计师之间的协作,一个设计师负责给出一个算法的轮廓和骨架,另一些设计师负责给出这个算法的各个逻辑步骤。//抽象模板角色类public abstract class Account{ //模板方法 public final double calculateInterest() {...
2018-09-04 09:09:47 121
转载 行为模式----策略模式
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口。设计一个抽象类,提供辅助函数。//抽象策略类接口public interface CarFunction{ void run();}//定义一个策略实现类的父类public class Car im...
2018-09-03 17:08:10 104
转载 享元模式(FlyWeight)
享元模式,又叫轻量级模式,通过共享技术有效的实现了大量细粒度对象的复用。 享元模式角色划分: FlyWeight:享元接口,定义共享接口。 ConcreteFlyWeight:具体的享元类,该类实例将实现共享。 UnShareConcreteFlyWeight:非共享享元实现类。 FlyWeightFactory:享元工厂类,控制实例的创建和共享。//享元接口类public i...
2018-09-03 15:38:33 99
转载 组合模式(Composite)
组合模式有时又叫整体-部分模式,在处理树形结构的问题的时候比较方便。//抽象类:Nodepublic abstract class Node{ protected String name; public Node(String name) { this.name = name; } public void addNode(Node...
2018-09-03 14:11:30 100
转载 桥接模式(Bridge)
桥接模式目的:将抽象化与实例化解耦,使得二者可以独立变化。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这种类型的类可被结构化的改变而互不影响。 具体来说就是一个接口,它与一方是绑定的,也就是解耦的双方中一方必然是继承这个接口,这一方就是实现方,而另一方正是要与这一方解耦的抽象方。//桥接口public interface Qiao{ void ...
2018-09-03 10:31:36 132
转载 外观模式(Facade)
外观模式的目的不是在给予系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单地使用子系统。 外观模式的本质是:封装交换,简化调用。 以电脑为例,电脑是由很多模块组装而成,启动和关闭都会涉及很多模块的启动和关闭。如果让用户一个个去关闭的话,那就太麻烦了。所以这里用到了外观模式进行封装,简化调用。public interface Imode()...
2018-08-31 17:07:11 150
转载 代理模式(Proxy)
代理这个名词在当今社会是比较普遍存在的,这是现在非常流行的词语。法院打官司也可以使用代理人,明星名人找经纪人代理处理工作事务等等。 我们会发现代理人和被代理的都有一个共性,都是人!哈哈,说笑了,我们还是继续说代理模式吧。 代理类和目标类都实现了相同的接口类,代理类负责目标类的功能调用。 上代码,实现的是一个演员与经纪人的关系。//演员接口类public interface IAct...
2018-08-31 15:47:43 187
转载 装饰者模式(Decorator)
装饰者模式说到底就是给原类进行装扮,使其变得好看好用,在功能的扩展上是比较适用的了。 就拿生活中常见的手抓饼为例:它的本质是一个煎饼,而我们在购买的时候会向老板要求加这加那,而最后的价格也会随之增加。//定义一个抽象类--煎饼public abstract class Pancake{ public String desc = "煎饼"; public String ...
2018-08-31 13:42:36 100
转载 适配器模式(Adapter)
适配器是一种中间件,它的作用在于将不匹配的二者之间变的匹配,建立连接。 适配器细分有三种:类适配器,对象适配器,接口适配器。 其中第一种和第二种的实现上有些许差别。 1.1类适配器 实现原理:通过继承实现适配器功能 就拿生活中常见的接头转换接头为例:为了实现既能接USB,也能接TypeC实现如下: 1.定义两个功能接口类public interface Usb{ vo...
2018-08-31 09:39:28 175
转载 建造者模式(Builder)
建造者模式主要解决的是创建对象的时候,对象属性的初始化问题。一个类有很多属性,而这些属性在创建的时候可以赋值也可以不赋值。如果我们单纯的用构造器来解决就会很麻烦,这个时候建造者模式就非常适用了。 我们拿现在比较流行的OkHttp的Request类来作为范本来说明建造者模式public final class Request{//外部类的属性 final HttpUrl ur...
2018-08-30 15:37:01 114
转载 单例模式Singleton
2单例模式 单例模式主要是为了维持全局只有一个该类的对象实例。 对于这个不难想到不使用单例也能实现比如静态类。那这两者选择的场景可分为: 1.不需要维持任何状态,仅用于全局访问,此时更适合使用静态类 2.要维持一些特定的状态,此时更适合单例模式 单例模式又划分了很多种类,但都必须具备一下三点: 1. 单例模式只能有一个实例。 2. 单例类必须创建自己的唯一实例。 3. 单例类必须向...
2018-08-30 14:51:03 126
转载 JAVA设计模式笔记
JAVA设计模式 1.创建模式之工厂模式 工厂模式参考的是现实生产环境的工厂,不知道你是否在深圳的电子厂打工过,如果有这样的经历你就会很好理解。在工厂里是按产品线划分的,在每个产品的流水线上工人们各司其职,将一个个零部件组装起来成为最终产品。就拿我之前呆过的工厂来说,在哪里分了耳机产品线,音响产品线等。不瞎扯了,上代码。 1.1静态工厂模式interface Product {}...
2018-08-30 10:42:47 133
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人