Snowberg

 
上一页 1 2 3 4 5 6 7 ··· 17 下一页

2012年6月16日

设计模式笔记14:状态模式(State Pattern)

摘要: 一、状态模式的内容状态模式允许对象在内部改变时改变它的行为,对象看起来好像修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。我们在做某一些操作的时候,遇到不同状态的时候就会有不同的处理方式。为了判别这些状态,我们必然会使用大量的if else语句来做状态判断处理。而随着if else(或switch case)语句的增多,程序的可读性,扩展性也会变得很弱。维护也会很麻烦,你可能看到过有的代码中 一个函数就有n多if语句,代码甚至超过了上千行。举一个例子:我们给一部手机打电话,就可能出现这几种情况:用户开机,用户关机,用户欠费停机,用户消户等。 阅读全文

posted @ 2012-06-16 21:07 Snowberg 阅读(250) 评论(0) 推荐(0) 编辑

2012年6月15日

设计模式笔记13:组合模式(Composite Pattern)

摘要: 一、组合模式的内容组合模式允许你将对象组成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致的方式处理个别对象和对象组合。组合模式(Composite Pattern):组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。组合模式又可以称为“整体-部分”(Part-Whole)模式,属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体与部分的关系。组合模式以单一责任设计原则换取透明性。通过让组件的接口同时包含一些管理子节点和叶节点的操作,客户就可以将组合和叶节点一视同仁。也就是说,一个元素是组合还是叶 阅读全文

posted @ 2012-06-15 22:19 Snowberg 阅读(228) 评论(0) 推荐(0) 编辑

设计模式笔记12:迭代器模式(Iterator Pattern)

摘要: 一、迭代器模式的内容迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的标示。其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。然而在前一种情况,容器承受了过多的功能,它不仅要负责自己“容器”内的元素维护(添加、删除等等),而且还要提供遍历自身的接口;而且由于遍历状态保存的问题,不能对同一个容器对象同时进行多个遍历。第二种方式倒是省事,却又将容器的内部 阅读全文

posted @ 2012-06-15 08:52 Snowberg 阅读(239) 评论(0) 推荐(0) 编辑

2012年6月13日

设计模式笔记11:模板方法设计模式(Template Method Pattern)

摘要: 一、模板方法模式的内容模板模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法是一种类行为型模式。模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。在模板方法模式中,我们需要准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。模 阅读全文

posted @ 2012-06-13 22:36 Snowberg 阅读(282) 评论(0) 推荐(0) 编辑

2012年6月12日

设计模式笔记10:外观模式(Facade Pattern)

摘要: 一、外观模式的内容外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。外观模式又称为门面模式,它是一种对象结构型模式。医院的例子用一个例子进行说明,如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。首先病人必须先挂号,然后门诊。如果医生要求化验,病人必须首先划价,然后缴款,才能到化验部门做化验。化验后,再回到门诊室。解决这种不便的方法便是引进门面模式。可以设置一个接待员的位置,由接待员负责代 阅读全文

posted @ 2012-06-12 22:23 Snowberg 阅读(297) 评论(0) 推荐(0) 编辑

2012年5月23日

Android动态获取资源ID并使用javabean进行赋值

摘要: 一、问题 在最近的项目当中遇到这样一个问题,访问网络获取一个企业的详细信息,并显示在客户端,因为信息数量相当多,进一步造成对应的javabean字段非常之多,如果使用javabean.field的方式进行赋值,一方面工作量大,另一方面,非常的容易出错。 这时候就想到使用内省机制,对javabean进行赋值和取值操作,但是,无奈,Android的SDK当中没有引入java的内省机制。于是转战反射。使用反射机制将javabean动态获取javabean当中的字段,并动态获得R.id()的字段,如果这两个字段名相同,就在获得R.id()字段对应的值(Int),然后得到相应的view,并进行赋... 阅读全文

posted @ 2012-05-23 11:25 Snowberg 阅读(1886) 评论(0) 推荐(1) 编辑

Android开发当中Parcelable接口的使用

摘要: 对于Android来说传递复杂类型,主要是将自己的类转换为基础的字节数组,Activity之间传递数据是通过Intent实现的。Android序列化对象主要有两种方法,实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是Java SE本身就支持的,而Parcelable是Android特有的功能,效率比实现Serializable接口高,而且还可以用在进程间通信(IPC)中。实现Serializable接口非常简单,声明一下就可以了。而实现Parcelable接口稍微复杂一些,但效率更高,推荐用这种方法提高性能。android 中自定义的对象序 阅读全文

posted @ 2012-05-23 09:03 Snowberg 阅读(570) 评论(0) 推荐(0) 编辑

2012年5月22日

getSharedPreferences()与getSharedPreferences(String name, int mode)与getDefaultSharedPreferences

摘要: 一直迷惑于这三个方法的关系,最近忙完项目,好好的分析一下。如果你熟悉Context那么你可能知道Context当中有这样一个方法:(关于Context的说明)一、getSharedPreferences(String name, int mode)abstractSharedPreferencesgetSharedPreferences(Stringname, int mode)Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through 阅读全文

posted @ 2012-05-22 22:33 Snowberg 阅读(595) 评论(0) 推荐(0) 编辑

2012年5月13日

javabean的继承与反射

摘要: 问题:javabean当中继承与反射的使用,为什么只有父类的字段设置为public,在子类当中才能用反射机制得到呢???前提:不要内省,只通过反射方式实现。public class Person { public String name ; public int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setA... 阅读全文

posted @ 2012-05-13 11:25 Snowberg 阅读(1660) 评论(0) 推荐(0) 编辑

2012年4月22日

Android中的Context理解

摘要: 1、sdk当中关于Context的介绍Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launchin 阅读全文

posted @ 2012-04-22 21:21 Snowberg 阅读(1688) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 17 下一页

导航