博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Android源码设计模式》--工厂方法模式
阅读量:4684 次
发布时间:2019-06-09

本文共 1088 字,大约阅读时间需要 3 分钟。

No1:

对于一个应用程序来说,其真正的入口是在ActivityThread类中,ActivityThread中含有我们熟悉的main方法。ActivityThread是一个final类,不能被继承。当Zygote进程孵化出一个新的应用进程猴,会执行ActivityThread的main方法,main方法中做了一些比较常规的逻辑,比如准备Looper和消息队列,然后调用ActivityThread的attach方法将其绑定到ActivityManagerService中,开始不断地读取消息队列中的消息并分发消息。

No2:

public abstract class Factory{    /**    * 抽象工厂方法    * 具体生产什么由子类去实现    */    public abstract 
T createProduct(Class
clz);}public class ConcreteFactory extends Factory{ @Override public
T createProduct(Class
clz){ Product p = null; try{ p = (Product)Class.forName(clz.getName).newInstance(); }catch(Exception e){ e.printStackTrace(); } return (T)p; }}public class Client{ public static void main(String[] args){ Factory factory = new ConcreteFactory(); Product p = factory.createProduct(ConcreteProductB.class); p.method(); }}

 

No3:

缺点:每次我们为工厂方法模式添加新的产品时就要编写一个新的产品类,同时还要引入抽象层,这必然会导致类结构的复杂化。

转载于:https://www.cnblogs.com/anni-qianqian/p/7761667.html

你可能感兴趣的文章
在Java中Log4J的配置
查看>>
jQuery (二)
查看>>
超简单!pytorch入门教程(三):构造一个小型CNN
查看>>
关于JVM的Thin Lock, Fat Lock, SPIN Lock与Tasuki Lock
查看>>
郁闷,垃圾CSS!
查看>>
hdu 1686 Oulipo KMP匹配次数统计
查看>>
OC成员变量和点语法 的访问
查看>>
报文首部
查看>>
创建、使用、删除数据库
查看>>
BackBox错误,无法获得锁...资源暂时不可用...无法锁定管理目录
查看>>
MySql的前戏
查看>>
翻转单词顺序列,如“student. a am I”,返回的的句子应该是“I am a student.”。
查看>>
XStream
查看>>
vtable
查看>>
《Dot Net Book Zero》学习笔记之第五章关键知识点
查看>>
Oracle 存储过程返回结果集|转|
查看>>
Uva(10034)
查看>>
利用redis完成自动补全搜索功能(三)
查看>>
CentOS 6、7 安装 Golang
查看>>
彻底理解正向代理、反向代理、透明代理
查看>>