咖啡馆

有空坐下来喝杯咖啡,放松下心情~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年11月3日

摘要: 1,定义 桥接模式(Bridge Pattern),也称为桥梁模式,其用意是将抽象化与实现化脱耦,使得两者可以独立的变化,它可以使软件系统沿着多个方向进行变化,而又不引入额外的复杂度, 桥接模式是连接功能与实现部分的设计模式,其用意在于使功能与实现分离,从而支持多维度的变化。 现实抽象理解: 开关与电灯,开关通过电线连接电灯,进而控制电灯,在这里,电灯可以认为是实... 阅读全文

posted @ 2013-11-03 18:54 mshwu 阅读(484) 评论(0) 推荐(0) 编辑

2013年9月30日

摘要: 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) ... 阅读全文

posted @ 2013-09-30 22:00 mshwu 阅读(208) 评论(0) 推荐(0) 编辑

2013年9月26日

摘要: 1,定义 所谓工厂方法模式(Factory Method Pattern),就是定义一个创建产品对象的工厂接口,让子类决定实例化哪一种实例对象,也就是将实际创建实例对象的工作推迟到子类当中,核心工厂类不再负责具体产品的创建。 2,优点 简单工厂模式的进一步抽象,可以使系统在不修改具体工厂角色的情况下引进新的产品, 完全实现“开-闭”原则, 对扩展开发,对修改关... 阅读全文

posted @ 2013-09-26 22:43 mshwu 阅读(284) 评论(0) 推荐(0) 编辑

2013年9月19日

摘要: 一个优秀的程序设计应该是组织层次分明,模块职职分明的,开始写第一行代码前,应该规划命名空间,它所体现的是你个人意志中对代码资源的规划。 可参考来自Design Guideline的建议如下: .(|)[.][.] example : Microsoft.WindowsMobile.Directx 对于一个大型的软件企业,以友邦保险为例,一级命名空间可以如下: Com.A... 阅读全文

posted @ 2013-09-19 23:00 mshwu 阅读(360) 评论(0) 推荐(0) 编辑

2013年9月9日

摘要: 从Android 2.3(API level 9)开始Android用系统服务(Service)的方式提供了Download Manager来优化处理长时间的下载操作。Download Manager处理HTTP连接并监控连接中的状态变化以及系统重启来确保每一个下载任务顺利完成。在大多数涉及到下载的情况中使用Download Manager都是不错的选择,特别是当用户切换不同的应用以后下载需要在后台继续进行,以及对下载完成的处理相当重要的时候相对比传统下载方式,Download Manager具有以下优点:采用service对下载处理做了很好的封装,同时封装了大部分异常处理,程序可专注于逻辑处 阅读全文

posted @ 2013-09-09 22:44 mshwu 阅读(890) 评论(0) 推荐(0) 编辑

2013年9月7日

摘要: 以Android高级编程一书中的一个例子为例: 1, 创建一个ContactPicker项目,其中包含一个ContactPicker Activity package com.paad.contactpicker;import android.app.Activity;import android.content.ContentUris;import android.content.In... 阅读全文

posted @ 2013-09-07 21:56 mshwu 阅读(267) 评论(0) 推荐(0) 编辑

2013年9月5日

摘要: 1,简介 Intent 是一种消息传递机制,可以理解为一种对消息的封装,执行某操作的抽象描述,可用于应用程序内部及应用程序之间 其组成包括: 要执行的动作(action) 如VIEW_ACTION(查看)、EDIT_ACTION(修改)等,Android定义了一套标准动作: MAIN_ACTION VIEW_ACTION EDIT_ACTI... 阅读全文

posted @ 2013-09-05 21:53 mshwu 阅读(228) 评论(0) 推荐(0) 编辑

2013年8月18日

摘要: 1,简介 Fragement(碎片)允许将Activity拆分成多个完全独立封装的可重用组件,每个组件有它自己的生命周期和UI布局,由此可见,Fragement依赖于Activity,它的生命周期直接被其所属的宿主activity的生命周期影响。 形象的理解Fragement,手机屏幕如下图所示: Fragement 具有以下优点: 组件重... 阅读全文

posted @ 2013-08-18 21:40 mshwu 阅读(546) 评论(0) 推荐(0) 编辑

2012年9月2日

摘要: ActivityActivity是Android程序的4大组件之一。Activity是Android程序的表示层。程序的每一个显示屏幕就是一个Activity。学过WEB开发者,可以把Activity理解成网页中的一个JSP文件;或者你可以把它理解成一个Windows的窗口。下面看一下Activity类的继承关系:从这里可以看到Activity是Context类的子类。Activity的生命周期当用户的焦点进入,离开,或返回时,应用程序中的activity会在它们生命周期中的不同状态进行转换,比如,当activity第一次创建时,它会位于系统屏幕最前面接受用户焦点,在这一过程中,系统会调用ac 阅读全文

posted @ 2012-09-02 00:06 mshwu 阅读(340) 评论(0) 推荐(0) 编辑

2012年9月1日

摘要: 语法改动比较大的是泛型编程。使用泛型编程需要在声明的时候提供附加的声明信息。比如:List words = new ArrayList();需要替换成:List<String> words = new ArrayList<String>();这样做的一个优点是,如果你插入数组的数据类型不是字符串的话,你就可以在编译的时候发现和解决这个bug。如果不使用上面的声明,这个bug不可能在编译的时候发现,程序运行后会出现ClassCastException 的错误。另一个好处是:你不在需要担心集合中的元素超出了范围:String title = ((String) words. 阅读全文

posted @ 2012-09-01 22:58 mshwu 阅读(284) 评论(0) 推荐(0) 编辑