WEB开发网
开发学院手机开发Android 开发 模板方法(Template method)模式在Android应用 阅读

模板方法(Template method)模式在Android应用

 2010-10-14 06:21:00 来源:本站整理   
核心提示:Android系统是一个优秀的应用程序框架,在框架中设计模式有着广泛的应用,模板方法(Template method)模式在Android应用,当然Android也不会例外,本文只是简单以View类为例来说明Template method模式在Android中的应用,这个模式在Android中的应用,1、我们创建一个h

Android系统是一个优秀的应用程序框架,在框架中设计模式有着广泛的应用。当然Android也不会例外,本文只是简单以View类为例来说明Template method模式在Android中的应用。

首先我们温习一下Template method模式。模板方法模式作用是:在基类中定义好算法和流程。具体的实现延迟到派生类中定义。其UML图如下:


从上图我们可以看出在AbstractClass中定义好了TemplateMethod方法,这个方法中定义好了对 PrimitiveOperation方法的调用,但是在AbstractClass中把PrimitiveOperation方法定义成了抽象方法,没有实现,所以这个方法也只能是一个模板,不能调用。这样当定义ConcreteClass的时候,需要定义PrimitiveOperation方法,这样AbstractClass中的TemplateMethod方法中定义的逻辑就可以正确运行了。

我通过上面的描述我们可以知道,模板方法这个模式在框架中肯定会有很广泛的应用。这个模式可以对应成逻辑流程在框架中定义,具体实现有用户自己定义。

下面我以Android框架中的View类为例来介绍一下,这个模式在Android中的应用。

1、我们创建一个helloview工程。

2、增加一个MyView类,代码如下:

package com.simon.helloview;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.view.View;

public class MyView extends View {

public MyView(Context context) {

super(context);

}

protected void onDraw (Canvas canvas) {

Paint paint = new Paint();

paint.setARGB(255, 255, 0, 0);

canvas.drawCircle(100, 100, 100, paint);

}

}

3、定义HelloViewActivity代码如下:

package com.simon.helloview;

import android.app.Activity;

import android.os.Bundle;

public class HelloViewActivity extends Activity {

/** Called when the activity is first created. */

1 2  下一页

Tags:模板 方法 Template

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接