版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012070360/article/details/82182005
public interface IAndroidCanvasHelper {
void init(int width, int height);
void draw(final CanvasPainter canvasPainter);
Bitmap getOutputBitmap();
interface CanvasPainter {
void draw(Canvas androidCanvas);
}
interface MODE {
String MODE_SYNC = "SYNC";
String MODE_ASYNC = "ASYNC";
}
class Factory {
/**
* @param mode {@link MODE}
* @return AndroidCanvasHelper
*/
public static IAndroidCanvasHelper createAndroidCanvasHelper(String mode) {
if (mode.equals(MODE_SYNC)) {
return new AndroidCanvasHelperSync();
} else {
return new AndroidCanvasHelperAsync();
}
}
}
}
好处:
- 灵活运动了面向对象的面对抽象,依赖倒置
- 灵活使用了工厂模式,为了讲啦的创建对象的提供了方便
- 这种构建方式在开发中应该灵活使用