模式概览

本文详细介绍了设计模式如最少知识原则、命令模式、适配器模式、外观模式、模板方法模式等,并通过实际案例如Android中的AsyncTask类、ListView的Adapter、VideoView类进行解析。同时,阐述了架构技术的要点,包括线程池、适配器模式在实际应用中的作用,以及如何通过组合现有类的接口提供更简单的接口。
摘要由CSDN通过智能技术生成
最少知识原则:
    与直接接触的类沟通,不要通过一个类获得另一个类,再调用这个类方法


命令模式:
    服务端把各个实现类的功能封装成一个个的命令类,这些命令类可以利用实现类的方法去达到某种特定的功能,然后把这些命令注册到RemoteControl类里
    当某个命令注册到RemoteControl类中时,通过调用RemoteControl的某个方法通知RemoteControl,相当于把命令放进调用队列里了,此命令的执行会在某个时刻被执行
    整个过程中,RemoteControl了解命令的实现,只是简单地在某个时候调用它的接口。所以这里是把调用和实现分离了。
    例子:线程池。Android中的AsyncTask类 
    
适配器模式:将一个类的接口,转换成客户期望的另一个接口。甜酸器让原本接口不兼容的类可以合作无间
    客户通过目标接口调用适配器方法,适配器使用被适配器的方法去实现功能
    例子:Android中的ListView的Adapter
    
外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用
通过组合原有类的接口来给使用者提供更简单的接口
例子:Android中的VideoView类

模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法上的某些步骤。
模板方法(算法部分)被声明为final,不让子类继承,表示所有子类都应该使用这个方法。
声明为抽象类的方法让子类去实现,这是变化的部分
可以加入钩子方法,让子类去覆盖,从而影响父类的行为。
例子:Android中的Activity类

迭代器模式:提供一种方法顺序访问一个聚合对象的各个元素,而又不暴露其内部的表示


组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合
例子:View及ViewGroup
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值