自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 模板方法模式

一、模版方法模式的定义模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。二、模版方法模式的结构模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具...

2019-09-06 13:55:23 159

转载 策略模式

一、策略模式的简介1.定义策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。2.使用场景针对一个对象,其行为有些是固定的不变的,有些是容易变化的,针对不同情况有不同的表现形式。那么对于这些容易变化的行为,我们不希望将其实现绑定在对象中,而是希望以动态的形式,针对不同情...

2019-09-06 13:51:21 171

转载 观察者模式

一、观察者模式的概念观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。二、观...

2019-09-06 13:45:25 165

转载 迭代器模式

一、迭代器模式定义迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。二、迭代器模式结构迭代器模式涉及到以下几个角色:●  抽象迭代器(Iterator)角色:此抽象角色定义出遍历元素所需的接口。●  具体迭代器(ConcreteIterator)角色:此角色实现了Iter...

2019-09-06 13:41:12 120

转载 命令模式

一、命令模式的概念命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,具有请求排队或者记录请求日志,提供命令的撤销和恢复的功能。命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知...

2019-09-06 13:37:44 209

转载 代理模式

一、模式定义代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。二、模式结构代理模式包含如下角色:Subject: 抽象主题角色Proxy: 代理主题角色RealSubject: 真实主题角色四、模式的简单实现抽象对象角色public abstract ...

2019-09-06 13:30:41 102

转载 装饰者模式

一、装饰者模式的概念装饰者模式又名包装(Wrapper)模式。装饰者模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰者模式动态地将责任附加到对象身上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。二、装饰者模式的结构装饰者模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰者模式可以在不使用创造更多...

2019-09-06 13:28:01 330

转载 外观模式

1.定义外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。2.定义阐述医院的例子现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系...

2019-09-05 16:37:14 160

转载 适配器模式

1.定义适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。二、适配器模式结构适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。类适配器模式类的适配器模式把适配的类的API转换成为目标类的API。在上图中可以看出,Adaptee类并没有sampleOperation2()方法,而客户端则期待这个方法。为使客户...

2019-09-05 16:17:26 119

转载 建造者模式

一、模式定义造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。二、模式结构建造者模式包含如下角色:Builde...

2019-09-05 16:05:36 117

转载 单例模式

1.定义作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。2.特点单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。二、创建单例模式的方式会一直等到马上要使用对象实例的时候才会创建①懒汉式,线程不安全public class Singleton {private stati...

2019-09-05 15:58:48 96

转载 抽象工厂模式

1.定义抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。当系统所提供的工厂所需生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构中属于不同类型的具体产品时需要使用抽象工厂模式。抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产...

2019-09-05 15:00:00 252

转载 工厂方法模式

1.定义在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。二、工厂方法模式结构1.模式结构工厂方法模式包含如下角色:●Product:抽象产品,工厂方法模式所创建的对象的超类,也就是所有产品类的共同父类或共同拥有的接口。在实际的系统中,...

2019-09-05 14:48:03 164

转载 简单工厂模式

1.定义在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、简单工厂模式结构1.模式结构简单工厂模式包含如下角色:●Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑●Product:抽象产品角色抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口●Concr...

2019-09-05 14:33:17 173

原创 常用设计模式总结

一,创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。包含模式:1,简单工厂模式(Simple Factory)2,工厂方法模式(Factory Method)3,抽象工厂模式(Abstract Factory),4,建造者模式(Builder)5,原型模式(Prototype)6,单例模式(Singleton)...

2019-09-05 14:21:25 113

原创 AS: Default Activity Not Found

之前AS运行一直都是正常的,在一次强制关闭掉Android Studio后,再次打开项目就出现提示 Error: Default Activity Not Found。而且在Android Studio 的app上显示了红色的x解决方法为:删除 AndroidStudiox.x -> system->cache...

2019-04-03 10:41:42 556 2

原创 android P 如何修改mtp和ptp模式下手机连接电脑显示在电脑上的名字

1,如何修改MTP设备名:frameworks/base/media/java/android/mtp/MtpDatabase.java找到private int getDeviceProperty(int property, long[] outIntValue, char[] outStringValue) 函数找到case MtpConstants.DEVICE_PROPERTY...

2019-02-22 14:00:39 3686 1

翻译 非常好用的一款实时翻译工具

https://github.com/elliottzheng/CopyTranslator.wiki.git

2019-02-14 10:34:21 8289

原创 定制相机照片详情Maker和Model

修改android camera照片详情里Maker和Model方法如下:找到alps/device/mediateksample/项目/full_项目.mk里PRODUCT_MANUFACTURERPRODUCT_MODELPRODUCT_BRAND定制即可如下:

2019-02-13 09:38:42 469

原创 2019年flag

以前心里立过很多flag,但都不了了之,这次是第一次记录flag,为激励自己,希望可以做到,加油!2019年flag1,宝宝去年出生,需花时间照顾宝贝,陪伴她成长,先做个合格的妈妈(本想说做个好妈妈的)2,工作上要有所突破,精益求精。两个目标:(1)Camera这块要重点花时间钻研,深入研究camera2。(2)从现在每周阅读一本书籍,一年要阅读10本以上专业书籍。后续会把书单贴上。3...

2019-02-12 10:31:05 295

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除