代码改变世界

设计模式之注册表模式

2013-07-15 14:10 by youxin, 1305 阅读, 0 推荐, 收藏,
摘要:如果你需要管理一群不同類型的物件,並希望在程式中這些物件在取得時都是單例,你可以使用Register of Singleton模式。在Java中若要實現Register of Singleton模式,可以使用Reflection機制來達成:import java.util.*;public class SingletonRegistry { private static Map registry = new HashMap(); private SingletonRegistry() {} public static Obj... 阅读全文

设计模式多线程方面之Thread-Per-Message 模式

2013-07-15 14:03 by youxin, 526 阅读, 0 推荐, 收藏,
摘要:Thread-Per-Message模式是一个很简单但很常应用的模式,尤其是在GUI程式中,我们举个例子,当您设计一个文件编辑器时,您可能像这样注册一个开启档案的事件处理:menuOpenFile.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(); } });openFile()方法中主要是开启档案、一行一行读档案文字并设定文字至文字区域中,这样设计基本上没有什么问题,例如果您的文件内容很长,在读档必须花费一些时间时,您会发现在档案读取完毕前,您的视 阅读全文

UML类图关系大全

2013-07-15 10:50 by youxin, 292 阅读, 0 推荐, 收藏,
摘要:1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。使用ROSE 生成的代码是这样的:双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。单向关联:C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表 阅读全文

设计模式之多例模式

2013-07-15 10:36 by youxin, 1133 阅读, 0 推荐, 收藏,
摘要:所谓多例(Multiton Pattern)实际上就是单例模式的自然推广。作为对象的创建模式,多例模式或多例类有以下的特点:1、多例类可以有多个实例2、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。有上限多例模式一般类图:public class Die { private static Die die1 = new Die(); private static Die die2 = new Die(); /** * 私有构造函数保证 外界 无法直接将此类实例化 */ private Die()... 阅读全文

设计模式之静态工厂方法

2013-07-15 10:17 by youxin, 718 阅读, 0 推荐, 收藏,
摘要:工厂模式非常实用,但是为每一个类创建一个工厂方法方法类会引起工厂类的泛滥,此时,我们可以使用静态工厂方法来避免--在每个类里实现一个静态的工厂方法,就不需要额外的工厂类了。静态工厂方法在"Effective Java" 一书中有详细的介绍,我们也经常使用它们。例如,在Java 5版本里,为创建基本类型Integer、Long、Boolean对象都提供了静态工厂方法,以Integer类为例,它的静态工厂方法如下所示。publicstaticIntegervalueOf(inti){ if(i>=-128&&ithreadConfig=newThreadL 阅读全文

python pythonic是什么?

2013-07-15 01:55 by youxin, 537 阅读, 0 推荐, 收藏,
摘要:原文地址:http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0注:Martijn是Zope领域的专家,他为Zope系列产品做了许多开发工作,也开发了lxml等多个开源产品。你可以在这里了解一下他的信息http://www.zope.org/Members/faassen。这篇文章写于2005年,虽然有少部分内容(主要是例子)看起来已经有些过时,但即便是在今天,它的中心思想依然有极高的指导意义。这是几个月前在EuroPython邮件列表(主要用来组织和计划EuroPython会议的邮件列表)出现的问题。这是一个非常有意思的问题,我看到这 阅读全文

python 模块BeautifulSoup使用

2013-07-15 01:53 by youxin, 4369 阅读, 0 推荐, 收藏,
摘要:BeautifulSoup是一个专门用于解析html/xml的库。官网:http://www.crummy.com/software/BeautifulSoup/说明,BS有了4.x的版本了。官方说:Beautiful Soup 3 has been replaced byBeautiful Sou... 阅读全文

python爬虫实战1

2013-07-15 01:13 by youxin, 716 阅读, 0 推荐, 收藏,
摘要:转载于:http://blog.csdn.net/dongnanyanhai/article/details/5552431首先推荐一个网站:中医世家,这个网站上有很多关于中医的资料,光是提供的中医书籍就有317Mb,全都是CHM格式,资料非常全面。 正因为这个网站有这么多的好东西,但是我又懒得一本书一本书的下载,所以,我就……用Python直接解析了几个书籍下载页面的地址,把所有的书籍的下载地址都弄到手,顺便还下载了,呵呵呵,省得一个页面一个页面的打开! #!/usr/bin/env python#coding=utf-8#这段代码是用来下载“中医世家”网站上的书籍的,很不好意思了!imp. 阅读全文

python os模块

2013-07-15 00:26 by youxin, 1240 阅读, 0 推荐, 收藏,
摘要:这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 输出如:F:\pythonS 阅读全文

vim Ctags 和taglist安装和使用

2013-07-13 19:48 by youxin, 2008 阅读, 0 推荐, 收藏,
摘要:Ctags是一个用于从程序源代码树产生索引文件(或tag文件),从而便于文本编辑器来实现快速定位的实用工具。在产生的tag文件中,每一个tag的入口指向了一个编程语言的对象。这个对象可以是变量定义、函数、类或其他的物件。Ctags是开放源代码的程序。支持下列的编程语言:汇编,AWK, ASP, BE... 阅读全文
上一页 1 ··· 155 156 157 158 159 160 161 162 163 ··· 269 下一页