爱代码、爱音乐、爱健身
效果图 效果图 设计思路: 用ul显示内部上滑标题,并在其外部添加一个div作为容器,然后使用JQuery的动画效果,使ul的top属性不断改变来实现上滑的效果。
迭代器模式 定义:提供一种方法顺序的访问聚合对象(用来存储对象的容器可以是集合或者数组等)中的各个元素,但又不暴露其内部的表示。 迭代器模式里的几个角色: ●Iterator(抽象迭代器)访问元素的接口,定义了遍历元素的方法如:next()、hasNext()等。
模板设计模式 定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中去。模板方法可以使子类在不改变算法结构的前提下,重新定义算法中的某些定义。 比喻说明:模板模式就像是做煎饼果子,每做一个煎饼果子的步骤都一样:烙饼—>加调料(包括鸡蛋、火腿等)—>卷饼—>打包,除了加的调料不一样之外其余都一样,这时我们就可以定义一个煎饼果子类,制作步骤都封装起来,唯独将加调料的方法交给子类实现。
适配器模式 定义:将一个类的接口转换为客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 来自《head first设计模式》 解释:其实适配器就像是手机的数据线,它可以将原本接口不同的电脑和手机连接起来并实现数据的互通,也像是手机的充电器可以将原本很大的电压转换为可以为手机充电的电压。
命令模式 定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可以支持撤销的操作。 个人疑问:当我第一眼看到这定义的时候当时就TM懵逼了,心里有一万只草泥马涌现出来,不过后来通过仔细看书和看其他人的博客貌似是稍微懂了一点,个人感觉这个命令模式实际上就相当于去餐厅点餐,我们不需要去和厨师直接沟通也不需要和厨师见面甚至厨师是人还是机器人我们都不用管,我们需要做的就是叫服务员然后把想点的菜告诉服务员即可。
单例模式 目录 image 定义:用来创建独一无二的,只能有一个实例的对象的入场券 作用:用于减少由于创建过多相同对象而造成的资源浪费 应用场景:常常用来管理共享资源,如数据库操作和线程池。
实现状态切换布局 image 效果图 image 原理 继承RelativeLayout,然后向其中添加各种状态的View,通过对各种View的显示隐藏的切换来实现各种状态的切换。