- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 调侃《Head First 设计模式》之命令模式
首先你有一个遥控器,什么样的呢?它有七个插槽,可以插上七种不同的装置,每个插槽对应两个按钮,分别对插槽的装置进行开关操作。如下图: 现在你需要设计遥控器的API,使得遥控器可以接入某厂商的设备装置需要插到插槽上的设备的类如下图: 类不少,而且以后还会增加,所以设计一个复用性和可扩展性高的遥控器API变得十分迫切。 我们看到,
2015-04-25 20:37:09 812
原创 调侃《Head First 设计模式》之单例模式
对于一个类来说,平常我们可以随便new出无限多个对象(只要内存hold得住),但是像线程池、缓存、对话框、日志对象、设备驱动程序的对象只能有一个对象,如果制造多个实例就会出现问题。比如程序行为异常,资源使用过量等。 那如何让一个类只能有一个对象呢?也许你想到了在另一个类持有该类的对象引用,在要new出这个类的时候判断下该引用是否为空就可以了。但这样做会提高类间的耦合度,而且会在不同
2015-04-25 11:02:27 1055
原创 调侃《Head First 设计模式》之工厂模式(二)
上一篇讲了简单工厂和工厂方法,在讲抽象工厂模式之前,现在先分析下简单工厂和工厂方法的主要特点和区别:简单工厂最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件实时动态实例化相关的类,对于客户端来说去除了与具体产品的依赖,增加新的产品种类不用修改客户端。最大的缺点是如果要增加新的产品种类,就要修改工厂的代码,这违背了开放--关闭原则。工厂方法模式最大的特点是使得具体工厂创建方法的实现延
2015-04-18 20:50:11 720
转载 HTTP协议详解
转自:http://blog.csdn.net/gueter/article/details/1524447#commentsAuthor :Jeffrey My Blog:http://blog.csdn.net/gueter/ 引言 HTTP是一个属于应用层的面向对象的协议,由于其简
2015-04-14 17:07:25 486
转载 谈谈我对读研和软件学院的看法(转自网络,作者不太清楚)
如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。 你说:“他们都有很强的开发能力,只是不太喜欢
2015-04-09 09:26:22 765
原创 安卓笔记之隐式启动Activity篇
之前聊的关于启动Activtiy的都是在Intent对象中指明要启动哪一个Activtiy(Intent对象的构造中传参数或者Intent对象的setClass方法),这时一种显式的启动方式。其实还有一种隐式的启动方式,它不指明要开启的Activity类,而是通过匹配一些数据信息来寻找Activity。打个踢球叫人守门的比方,显式启动方式就是“xxx,你快去守门!”,隐式启动就是类似“谁以前守过门
2015-04-06 21:32:07 4592
原创 SlidingDrawer开发实例简介
SlidingDrawer可以将内容隐藏在屏幕外,允许用户通过拖拽一个把手,将内容带回屏幕上显示. SlidingDrawer可以横向使用,也可以纵向使用。 该小部件由两个子视图组成:用于拖拽的把手视图和由该把手连接并拖拽的内容。 SlidingDrawer应该用于覆盖内部布局。这意味着SlidingDrawer应该常用于象 FrameLayout或RelativeLayout这样的布局的内部
2015-04-06 11:51:19 825
原创 调侃《HeadFirst设计模式》之装饰者模式
今天让我们继续跟随《Head First 设计模式》的足迹,聊一个新的设计模式,有了它,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。首先,按照惯例,从故事说起—— 星巴兹(Starbuzz)是以扩张速度最快而闻名的咖啡连锁店。因为扩张速度实在太快了,他们准备更新订单系统,以合乎他们的饮料供应要求。他们原先的类设计是这样的…… cost方法是
2015-04-05 10:52:48 2271
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人