您的位置:首页 > 其它

安卓常用设计模式

2014-04-03 20:50 190 查看
整理:

设计模式,提供了很多软件工程问题所需处理的解决方案。

根据模式的目的可分为3类:

1.创建型模式:与对象的创建有关。

2.结构性模式:处理类与对象的组合。

3.行为性模式:对类或对象怎样交互和怎样 分配职责进行描述。

面向对象设计的2个基本原则:

1.针对接口编程,而不是针对实现编程。

2.优先使用对象组合,而不是类继承。

面向对象设计的5个设计原则:

1.单一职责原则(SRP)

2.开放封闭原则(OCP)

3.Liskov替换原则(LSP)

4.依赖倒置原则(DIP)

5.接口隔离原则(ISP)

23中设计模式:

1.创建型模式:

(1).工厂方法模式

(2).抽象工厂模式

(3).创建者模式

(4).原型模式

(5).单例模式

2.结构型模式:

(6).适配器模式

(7).桥模式

(8).组合模式

(9).装饰模式

(10).外观模式

(11).享元模式

(12).代理模式

3.行为型模式

(13).解释器模式

(14).模板方法模式

(15).职责链模式

(16).命令模式

(17).迭代器模式

(18).中介者模式

(19).备忘录模式

(20).观察者模式

(21).状态模式

(22).策略模式

(23).访问者模式

除此之外,后来人发现很多新的模式,如空模式等。

下面列举几个常见的问题导致重新设计,可能需要设计模式来分析解决:

1.通过显示的指定一个类来创建对象

2.对特殊操作的依赖

3.对硬件和软件平台的依赖

4.对对象表示或实现的依赖

5.算法依赖

6.紧耦合

7.通过生产子类来扩展功能

8.不能方便的对类进行修改

软件的设计臭味:

1.僵化性

2.脆弱性

3.顽固性

4.粘滞性

5.不必要的复杂性

6.不必要的重复

7.晦涩性

... ...

总而言之,一句话,面向对象特性+原则+模式,折腾来折腾去就是这么个回事。

Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。

组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。

1.意图

将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGroup的一部分)。

组合模式使得用户对单个对象View和组合对象ViewGroup的使用具有一致性。

热点词汇: 部分-整体 容器-内容 树形结构 一致性 叶子 合成 安全性 透明性

2.结构



针对View和ViewGroup的实际情况,我们选择安全式的组合模式(在组合对象中添加add,remove,getChild方法),添加少许的注释,我们把上图修改为:



3.代码

View类的实现:

ViewGroup的实现:

4.效果

(1).结构型模式

(2).定义了包含基本对象和组合对象的类层次结构。这种结构能够灵活控制基本对象与组合对象的使用。

(3).简化客户代码。基本对象和组合对象有一致性,用户不用区分它们。

(4).使得更容易添加新类型的组件。

(5).使你的设计变得更加一般化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: