- 博客(66)
- 资源 (35)
- 收藏
- 关注
转载 设计模式-FlyWeight(亨元模式)
FlyWeight享元模式: 运用共享技术有效地支持大量细粒度对象。 面向对象程序设计中很多粒度很小的类。这些类具备这样的特点:它的某些属性或行为,与其它的类呈现包容关系。而且这些类的状态的变化,也是直接反映到所有包容它的类类中。就是说,这些类是可以被share的,所以称之为享元。也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对
2011-11-09 14:27:22
2272
1
转载 设计模式-状态模式
State Pattern(状态模式): 允许一个对象在其内部状态改变时改变它的行为。这个对象看起来似乎修改了它的类。 能够让程序根据不同的外部情况来做出不同的响应,最直接的方法就是在程序中将这些可能发生的外部情况全部考虑到,使用if else语句来进行代码响应选择。但是这种方法对于复杂一点的状态判断,就会显得杂乱无章,容易产生错误;而且增加一个新的状态将会带来大量的修改。
2011-10-27 23:14:32
559
转载 设计模式-桥接模式(Bridge Pattern)
桥接模式:将抽象部分和他的实现部分分离,使他们可以独立地变化。结构图:图1 Bridge模式结构图我个人认为,说桥接模式和享元模式,与其说是一种设计模式,还不如说是一种思想,它体现在对系统或对象的分析阶段。当你用桥接模式的思想去分析一个系统或对象,然后用代码实现它之后拿给别人看, 未必有人能说出你用了桥接模式.桥接模式是为了解决这个问题而来的:继承关系是一种紧密的依赖关系,
2011-10-27 20:16:04
837
转载 设计模式-代理模式
代理模式: 为其他对象提供一种代理以控制对这个对象的访问,说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。为什么使用: 1.授权机制,不同级别的用户对同一对象拥有不同的访问权利,如Jive论坛系统中,就使用Proxy进行授权机制控制,访问论坛有两种
2011-10-27 16:20:35
621
转载 设计模式-适配器模式
Adapter(适配器)模式: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式的目标是通过一个代理(这里是Adapter),在原来的类(Adaptee)和客户(Client)之间进行协调,从而达到兼容的目的。其核心是解决一致性的问题。Adapter分为2种: 类适配器和对象
2011-10-27 15:28:01
333
转载 设计模式-单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问其实例的一个全局访问点根据单例模式的定义,写单例模式需要注意两点:1.实例由该类自己生成 为了防止客户代码通过 new Singleton()来实例一个对象,需要将 Singleton的默认构造函数定义为private2. 提供一个访问其实例的全局访问点 将访问方法getInstance()定义为 static
2011-10-27 15:07:57
269
转载 设计模式-观察者模式
Java的设计模式很多,观察者模式被称为是模式中的皇后,而且Javajdk也对它做了实现,可见该设计模式的重要位置。在图形化设计的软件中,为了实现视图和事件处理的分离,大多都采用了Observer模式,比如Java的Swing,Flex的ActionScript等。在现实的应用系统中也有好多应用,比如像当当网、京东商城一类的电子商务网站,如果你对某件商品比较关注,可以放到收藏架,那么当该商品降价时
2011-10-26 21:18:28
435
转载 设计模式-Decorator模式
Decorator模式定义:动态给一个对象添加一些额外的职责,它是通过创建一个包装对象,也就是装饰来包裹真实的对象。就像在墙上刷油漆,使用Decorator模式相比使用生成子类方式达到功能的扩充更加灵活。为什么使用Decorator:我们通常可以使用继承来实现功能的扩展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性。同时,使用继承实现功能的拓展,我们必
2011-10-26 20:31:39
730
转载 设计模式-Facade模式
什么是门面设计模式:外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。 门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。就如同医院的接待员一样,门面模式的门面类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与门面对象打交道,而不需要与子系统内
2011-10-26 19:49:03
359
转载 设计模式-prototype原型模式
有的时候,我们需要一个实例时,并且,当创建一个实例的过程比较复杂或者说是昂贵时,比如,创建实例的构造函数非常的复杂,在执行这个构造函数时会消耗较长的时间,同时呢,这个构造函数中的一些信息又没有什么变化(也就是说创建第一个实例时初始化信息是这样的,创建第二个实例时初始化信息还是还是这样的),那么直接使用 new 来创建这样一个实例就显得太昂贵了,最好的解决方法,并不是使用 new
2011-10-26 14:32:11
434
转载 设计模式-简单工厂、工厂方法、抽象工厂之小结与区别
简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。工厂方法工厂方法是针对每一种产品提
2011-10-26 12:18:27
369
转载 设计模式-抽象工厂模式
抽象工厂模式,在很多场景下都有应用。 它有以下的优点1:封装性,每个产品的实现类不是高层模块要关心的,它所要关心 的是接口和抽象类,他不关心对象是如何创建出来,只有工厂类去关心,只要知道工厂类是谁,我们就能得到一个需要的对象。 2:产品家族的约束为非公开状态。而抽象工厂模式针对的是多个产品等级结构。当每个抽象产品都有多于一个的具体子类的时候,工厂角色怎么知道实例化哪一个子类呢?
2011-10-26 12:17:19
336
转载 设计模式-工厂方法模式
一 、工厂方法(Factory Method)模式 工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到工厂子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、 工厂方法模式角色与结构 抽象工厂(Creator)角
2011-10-26 10:54:07
323
转载 设计模式-简单工厂模式
一、引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?! 而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存在的现
2011-10-26 10:48:19
409
转载 Android UI学习 - GridView和ImageView的使用
<br />GridView: A view that shows items in two-dimensional scrolling grid. The items in the grid come from the ListAdapter associated with this view. 简单说,GridView就是我们资源管理器平常见到的一个个文件的icon显示方式。 上面提及到了,GridView的Item是来自ListAdapter的,所以一般在Activity的onCreate使
2010-12-21 10:56:00
347
转载 SharedPreferences 的用法.
<br />2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式<br />SharedPreferences 用法很简单.<br />在A中<br />设置<br /> Editor sharedata = getSharedPreferences("data", 0).edit(); <br /> sharedata.putString("item","hello getSharedPreferences"); <b
2010-12-03 10:42:00
508
转载 android 所有布局属性和UI控件
1.Android RelativeLayout 属性 // 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的控件之上;android:layout_below 将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;android:layout_alignBaselin
2010-11-30 10:39:00
4794
转载 ViewFlipper的使用
<br />屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。<br />通过查看OPhone API文档可以发现,有个android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。该类有如下几个和动画相关的函数:l setInAnimation:设置View进入屏幕时候使用的动画,该函数有两
2010-11-25 22:20:00
545
原创 ContactsContract.Data ContactsContract.Contacts.Data ContactsContract.RawContacts.Data 关系
ContactsContract.Data <br />extends Object <br />implements ContactsContract.DataColumnsWithJoinsClass Overview:<br />该类中包含一些和原始联系资料相关的数据表常量,数据表中的每一行都用来存储联系信息(如电话号码)和元数据(such as whether it is a work or home number)Data kinds<br />Da
2010-11-24 17:16:00
3465
转载 Android 自定义 dialog
Android 自定义 dialog<br />Andoid Dialog<br /><br />1、AlertDialog,具有0-3个按钮,可以放选项、复选框单选框等,以建议的方式域用户交互可以。<br />2、ProgressDialog,显示一个进度的圆环或者进度条。<br />3、DataPickerDialog,选择日期的dialog。<br />4、TimePickerDialog,选择时间的dialog。<br /><br />用户可以继承Dialog类或者它的子类并且创建一个新的ley
2010-11-16 11:09:00
713
转载 C++ 语言基础(1)
入门简介 变量 C++数据类型 C++操作符 C++中的函数 main函数 数组 字符串数组 字符串操作函数C++ 是个强大的语言,可以用于做别的语言做不了的工作。但是,这种强大功能是有代价的。开始使用C++时,你可能会遇到内存溢出和访问失效等问题,使程序死机。这里用最简短的篇幅介绍C++语言基础。C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚。读者学完本书并使用C++ Builder一般时间之后,最后对C++语言再作更深入的了解。C++可以最充分地利用面向对象编
2010-11-08 14:32:00
481
转载 Android提高第一篇之MediaPlayer
前面写了十四篇关于界面的入门文章,大家都看完和跟着练习之后,对于常用的Layout和View都会有一定的了解了,接下来的文章就不再强调介绍界面了,而是针对具体的常见功能而展开。 本文介绍MediaPlayer的使用。MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用MediaPlayer,要视情况选择了。MediaPlayer播放音频比较简单,但是要播放视频就需要Surface
2010-11-05 11:46:00
763
转载 高效人士的116个IT秘诀(第2版)——秘诀23早晨就来一次突破
<br />你很享受在待办事项列表上划掉一个事项时的那种满足感和成就感,搞定了,完成了,走人,杀青。但是太多事情会阻碍着你,让你没法享受那种感觉,从出乎意料的紧急事件到延长拖沓的会议,甚至可能是在走廊里遇到一位同事都会被拉去闲聊半天。<br /><br /> 虽然这些自然而然的变化是必需的,也是必要发生的,但还是有一个办法能保证让你至少从列表上划掉一项:把一天当中的一个小时贡献给最重要的任务——在你检查你的电子邮件或者纸质邮件或者开任何会议之前。<br /><br />先完成一件事<br /><
2010-11-04 17:13:00
382
转载 高效人士的116个IT秘诀(第2版)——秘诀25快速记录你的工作日志
一直记录自己所做的事情实际花费了多少时间并不是一件容易的事,但工作日志很有帮助,并且能带来其他的好处。日常工作日志能帮助你更好地估算时间。因为如果对完成工作需要的时间有了更多的认识,可以对日后完成任务的时间有更实际的估算,根据这个来安排时间和资金(万一有人根据小时来付费)会更加准确。工作日志给你一个真实的画面,展示你的工作职责,以及它们和你的理想状态有多大程度的一致。同样,在你回头审视一天或者一周的工作的时候,对于时间都花在了哪里能有一个明确的概念。它可以帮助你确定时间都丢在了哪里,有策略地
2010-11-04 17:08:00
1498
转载 Android高手进阶教程(一)-------Android常用名令集锦(图文并茂)!
大家好,今天我们要讲的是android开发中,比较常用的名令集锦, 在我们开发中难免用到Android命令,有些确实命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装一个.apk文件到模拟器上面,但是他们不会启动模拟器,他们只会先启动Eclipse,然后在启动模拟器,这样不但浪费时间,而且Eclipse又占用你的内存。这也是我为什么总结这篇文章的原因了,希望对大家有所帮助。如果想让系统认识你输入的命令(如:输入android命令)有两种方法:1.设置环境变量.(和设置j
2010-11-04 15:58:00
382
原创 123
http://10086.cn http://www.21dianyuan.com http://www.21ic.com http://www.3gpp.org http://www.3gpp2.org http://www.51testing.com http://www.agilent.com http://www.agentpp.com http://www...
2010-08-30 14:12:40
252
精通dojo 中文版part1
2010-05-18
BBS-开源ASP.NET论坛EntLib.com (本人亲测,可以使用)
2010-03-13
bin2.7.2.7z
2020-07-17
flink-1.11.0-bin-scala_2.12.tgz
2020-07-16
Android 离线安装包ADT
2013-08-07
Android应用开发详解 附书源码 2/2
2010-11-12
Android应用开发详解 附书源码 1/2
2010-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅