自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android程序员的博客

个人学习交流博客,关于安卓,java的一些东西。23种设计模式,编程思想。项目中实用的一些代码,一些bug原因及修复

  • 博客(11)
  • 收藏
  • 关注

原创 观察者模式与回调

在说观察者模式之前,我们来说一下回调函数。如小明想找小丽看电影,小丽不在家。小丽妈妈接的电话,于是小明说小丽到家了告诉他。实现如下:public class Observer { public interface Watcher { public void update(); } public static class 小丽妈妈{ private

2017-09-21 16:49:24 2926

原创 策略模式与机制

在说策略模式之前,我们首先要说下Unix/Linux的接口设计有一句通用“提供机制而不是策略”的格言。 什么是策略,策略有点像战术是具体的东西。而机制像战略是目的。 通俗来说机制是做什么,策略是怎么做。public class Strategy { // 抽象策略 interface EatStrategy { void eatFood(); } s

2017-09-21 13:38:59 2987

原创 命令模式

命令,我们知道有命令、命令者、和被命令者。代码如下:public class Command { //命令模式 本来很简单的一句话的事为啥要整个模式,这个模式最主要的是命令者和被命令者的分离 public interface command {//命令接口 void exe(); } public static class MyCommand imple

2017-09-28 18:28:36 1495

原创 责任链模式

说责任链之前,我们先来说责任。责任就是一件事情由谁处理,出了问题由谁负责。无论公司还是政府,都是层层管理的,上面不处理就交给下面。就形成了一个责任链条, 现在的触屏设备的点击事件也是一样。一般都采用责任链模式,大控件不处理就转给小控件。代码如下:public class ResponsibilityChain { public static abstract class Widget {

2017-09-25 11:36:19 1548

原创 迭代器模式

迭代模式就是提供一种遍历方式,像list、set等都实现了迭代模式。我们下面实现对String字符的遍历:public class MyIterator { interface iterator { Object next(); boolean hasNext(); } static class MyString implements iterat

2017-09-25 09:00:08 1429

原创 模板方法模式

我们做一些事情都有一个步骤,而相似事的步骤是一致的。就拿我们打10086来说,有人查余额和有人要人工服务,但他们的不知都分下面三步:拨号、选择服务、评分。这种最适合用模板方法,实现如下:public class TemplateMethod { //模板抽象方法 public abstract static class Template10086 { //1.拨打10

2017-09-21 15:11:25 1456

原创 组合模式

这里的组合模式不是”组合好于继承”的组合,那么是什么组合呢,我们来看代码:abstract class Component { String name; public Component(String s){ this.name=s; } public abstract void add(Component c);

2017-09-11 21:06:58 1518

原创 享元模式

享元模式听名字就知道是共享一个东西,为了节省内存嘛。那么它和单例模式有什么不同呢?单利模式就一个对象,而享元模式是一组对象,共享的是相同的对象。没错,我们的String就用的享元模式,下面我们代码实现:public abstract class Flyweight{  public abstract void operation(); } public class Concre

2017-09-11 20:34:41 1506

原创 桥接模式

因为这个模式网上有很多不恰当的例子,这里先引用百度百科的定义:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 所以说桥接模式就是接口模式,一方调用接口,一方实现接口。还是百度上的示例代码:public class Abstraction{/* Fields */

2017-09-11 20:18:16 1538

原创 外观模式

这个是比较好理解的,拿我们的电脑做例子。电脑有cpu,内存,显卡等这些。当电脑开机时,主板、cpu、内存等都要启动。但作为用户并不需要管里面启动顺序之类的,我们只要按下开机键就行了。public class Facade { public static class Board { public void start(){ System.out.print

2017-09-04 15:21:10 1495

原创 代理模式

代理模式和装饰器模式实现起来很像,那他们的区别在哪呢。我喜欢从名字上分析,装饰只是加点东西,而代理是全权的。所以装饰改的是一个接口的方法(当然装饰可以嵌套),而代理是所有的方法(当然java动态代理只能更改有接口的)。代理分为静态代理和动态代理,下面上静态代理代码:public class Proxy { interface Draw { String draw();

2017-09-01 17:20:45 1520

空空如也

空空如也

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

TA关注的人

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