上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 70 下一页
摘要: 一,定义 英文名字:Decorator Pattern,又称装饰者模式。 装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二,总结 装饰模式什么时候实用?当系统需要新功能的时候,向旧的类中添加新的代码,而新的代码装饰了原有类的核心职责或主要行为。 如果在主类中添加新的字段,新的方法和新的逻辑,从而增加了主类的复杂度。而这些新添加的类仅仅是满足特定情况的特殊需要。 解决方案:装饰模式,把每个要装饰的功能放在单独的类中,并让这个类包装它要装饰的对象,因此要执行特殊行为时,客户端可以在运行时候有顺序,有选择的装饰包装对象 阅读全文
posted @ 2012-06-22 23:05 MXi4oyu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.模块原则:使用简洁的接口拼接简单的部件2.清晰原则:清晰胜于技巧 加注释 选择简单算法3.组合原则:设计时考虑拼接组合 unix中的输入输出选择文本流4.分离原则:策略同机制分离,接口同引擎分离5.设计原则:设计要简洁,复杂度能低则低6.吝啬原则:除非确无他法,否则不要编写庞大的程序7.透明性原则:设计要可见,以便日后审查和调试8.健壮原则:健壮源于透明和简洁 避免在程序中出现特例,代码功能很清晰,模块化9.表示原则:把知识叠入数据以求逻辑质朴和健壮10.通俗原则:接口设计避免标新立异11.缄默原则:如果一个 程序没什么好说的,就保持沉默12.补救原则:出现异常时,马上推出并给出足量错误信 阅读全文
posted @ 2012-06-21 12:23 MXi4oyu 阅读(173) 评论(0) 推荐(0) 编辑
摘要: http://www.mactech.com/articles/mactech/Vol.13/13.03/CandObjectiveCCompared/index.htmlVolume Number: 13 (1997)Issue Number: 3Column Tag: RhapsodyC++ Versus Objective-CBy Michael Rutman, independent consultantWhat will programming in Objective-C mean to the C++ programmerDifferent Object Oriented Lan 阅读全文
posted @ 2012-06-20 23:02 MXi4oyu 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一,定义 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4,为偶排列。 也就说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。二,求解方法 --- 暴力求解 时间复杂度 O(n^2)#inc... 阅读全文
posted @ 2012-06-20 19:30 MXi4oyu 阅读(585) 评论(0) 推荐(0) 编辑
摘要: fundamental networking in java: 1.summary 用java开发网络编程应用优势在于: 1.跨平台型 2.轻量级线程模型 网络编程跟多线程结合 3.安全性 没有指针,垃圾回收机制;很好的异常处理机制,oom异常也能捕获;未捕获的运行时异常只影响所在的线程,不影响进程。 4.可扩展性灵活性,以及良好丰富的类库。java的网络库更简单易用。 2 IP: Socket:一台机器的通讯节点称为socket,在java中,socket是java.net包里面的Socket,ServerSocket,DataGramSocket,MultiSocket的实例。 IP地.. 阅读全文
posted @ 2012-06-19 21:37 MXi4oyu 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 作为一个viewController(VC),想要消失的时候可以从parent VC里面调用dismissModalViewControllerAnimated来消去改VC,也可以在该VC里面手动调用self dismissModalViewControllerAnimated:YES来消去自己。 不过发现有时候调用dismissModalViewControllerAnimated,没有效果,百般试验无果下想起来之前是push进来的,换成self.navigationControllerpopViewControllerAnimate就ok了。 因次,在该VC内部调用方法消失自己的时... 阅读全文
posted @ 2012-06-17 14:47 MXi4oyu 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 表结构:create table view(id int unsigned NOT NULL AUTO_INCREMENT, catid int,title varchar(256),picture MEDIUMBLOB, content TEXT,PRIMARY KEY (id));java类操作:import java.awt.Image; import java.io.*; import java.nio.ByteBuffer; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQ 阅读全文
posted @ 2012-06-16 14:41 MXi4oyu 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: import java.awt.*; import java.awt.image.BufferedImage; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class ScaleIcon implements Icon { private BufferedImage i = null; private Icon icon = null; public ScaleIcon(Icon... 阅读全文
posted @ 2012-06-16 14:37 MXi4oyu 阅读(1428) 评论(0) 推荐(0) 编辑
摘要: 枚举类型是一种的值类型,它用于声明一组命名的常数。(1)枚举的声明:枚举声明用于声明新的枚举类型。访问修辞符enum 枚举名:基础类型{枚举成员 }基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。(2)枚举成员枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内 阅读全文
posted @ 2012-06-15 08:13 MXi4oyu 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 概要当要为某个类扩展功能时,怎么做?太简单了,想扩展什么功能就加什么样的方法就得了呗!那如果这个类属于某个你不能轻易修改的Lib时,又怎么做呢?还是很简单,OO有很多用于扩展的概念和模式,最原始的如继承、组合也是一种扩展。确实如此,而今天,让我们再来讨论提供一种很灵活扩展方式的----Visitor模式。目的为某些类提供新的功能和方法,而不需要修改这些类。实例假设我们有很多设备,比如移动电话,PC,Pad等,这些设备有提供了一些功能,比如开机,关机,连网,断网等,用类图和简单的代码来描述,如下所示:class Device { public: virtual void PowerOn... 阅读全文
posted @ 2012-06-14 16:39 MXi4oyu 阅读(207) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 70 下一页