自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 两个比较稳定的maven mirror

两个比较稳定的maven mirror  <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name>

2012-05-29 22:18:56 115

原创 面向对象的软件分析设计过程备忘

面向对象的软件分析设计过程备忘 一、业务分析与需求收集 1、重点梳理主业务流程,逐步完善分支流程。整理和发现业务流程中的涉众以及他们的业务目标和系统目标,显式目标以及隐式目标; 2、整理涉众们在系统中所承担的角色以及各自的职责; 3、在流程的运转过程中,发现和查找业务实体、他们之间的关系以及关键实体的生命周期(由谁在什么场景下创建、中间状态的变化以致最后的消亡);...

2012-05-21 23:58:39 111

原创 设计模式之状态模式(State)

状态模式:允许对象在内部状态改变时改变它的行为。 状态模式UML图:将所有状态的行为(handle方法)抽象到State接口中,不同的状态处理这里接口行为时,有不同的实现。Context会将行为委托给当前的状态对象,具体的状态实现类可以自行设置成功或者失败后的状态。 如果有多个Context实例需要共享State,可将Context中的State设为静态变量。 ...

2011-12-18 15:24:27 95

原创 设计模式之组合模式(Composite)

组合模式:允许你将对象组合成树状结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及组合对象 组合模式UML图:组合模式的一种常见的特征就是内部有一个集合,集合当中保存着一系列的自身接口的引用。这样就可以在组合对象中任意新增新的组合对象,最终表现为一种树形结构形态。 组合模式通常和迭代器模式一起使用,来遍历某个节点下所有的子节点。 下面是一个菜...

2011-12-18 13:24:39 91

原创 设计模式之迭代器模式(Iterator)

迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示 迭代器模式能让我游走于聚合内的每一个元素,而又不暴露其内部的表示。把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。 迭代器模式UML图:当然,这里我们的迭代器接口是自己定义的迭代器接口,我们完全可以使用JDK自带的java.util.Iterator接...

2011-12-18 11:05:46 89

原创 如何初始化Eclipse

打开Eclipse安装目录下的configuration文件夹,删除当中的所有目录,只保留config.ini文件和org.eclipse.equinox.simpleconfigurator目录(如果你的Eclipse有这个目录的话),重启Eclipse...

2011-12-14 00:25:00 235

原创 links方式安装Eclipse插件

安装步骤:在Eclipse安装目录下创建一个links目录;在links目录下创建link文件——只要是文本文件就好;在新创建的link文件中写好插件的路径,如:path=d:/eclipse-plugins/MyPlugin插件所在目录结构和插件在Eclipse中的目录结构一样,例如Maven插件解压以后的结构为“MavenPlugin/eclipse/…”,link文件中p...

2011-12-14 00:15:52 76

原创 设计模式之模板方法(Template Method)

模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板方法模式UML图:为了防止模板方法被覆盖,通常将模板方法定义为final方法。 对模板方法进行挂钩(钩子方法)钩子是一种被声明在父类中的方法,通常在模板方法中被调用,但父类中通常只会给出空的或者默认的实现。钩子的存...

2011-12-13 22:55:44 105

原创 设计模式之适配器模式(Adapter)

适配器模式:将一个类或接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 适配器模式UML图:适配器模式使用对象组合,包装被适配者:这种做法还有另外一个优点,被适配者的任何子类,都可以搭配着适配器使用。该模式可以通过创建适配器进行接口转换,让不兼容的接口变成兼容,可以让客户从实现的接口解耦。 外观模式:提供一个统一的接口,用来访问子系统中的一群接...

2011-12-08 22:51:47 107

原创 设计模式之命令模式(Command)

命令模式:将“请求/命令”封装成对象,无需了解这个请求的执行者以及处理细节。 谁来执行和处理这个命令对于命令的发号者来说并不关心,发号命令者只管发号施令而不关注执行者以及执行细节,而命令的执行者只管执行命令而不关注命令是由谁来发号的。命令模式能将发号施令者与命令的执行者解耦。他们只需要关注于命令对象。命令模式可能会产生额外的很多的子类,给系统增加复杂性。 命令模式UML图:...

2011-12-07 23:55:48 176

原创 设计模式之单例模式(Singleton)

单例模式:确保一个类只有一个实例,并提供一个全局访问点。 要想保证一个类只有一个实例,我们不能将构造方法暴露出去,否则调用方就可能通过你提供的构造方法去实例化该类的实例,这样我们就无法保证该类只有一个实例了。因此,我们不能给类的构造方法赋予public的访问权限。 单例模式的实例化分为两种:急切实例化和延迟实例化 急切实例化:依赖JVM在加载这个类时马上创建此唯...

2011-12-02 01:07:22 80

原创 多线程之线程状态

操作系统的多任务有两种实现多任务的方法,这取决于操作系统在中断程序时的行为——直接中断而不需要事先和被中断的程序协商,还是只有在被中断程序同意交出控制权之后才能执行中断。前者称为抢占式多任务,后者称为协作(非抢占式)多任务。抢占式多任务更加有效,但实现起来难度较大。而在协作多任务机制下,一个行为不当的程序可能会独占所有资源,导致其他所有程序无法正常工作(时说不当的程序不交出控制权,其他的线...

2011-11-30 12:47:26 97

原创 设计模式之工厂模式(Factory)

简单工厂:简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂UML图简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建...

2011-11-28 23:06:43 104

原创 Python之四(数字)

数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。当然,这个过程无论对程序员还是对用户都是透明的。 Python 支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。 声明一个数字:anInt = 1创建数值对象和给变量赋值一样 通过给数字对象(重新)赋值, 可以“更新”一个数值对象。因为数值对象是不可改变...

2011-11-28 17:53:21 182

原创 在采纳别人建议的时候,请不要忘记提起给你建议的人

很多人采纳别人好的建议以后,往往忘记提起给你推荐建议的人。有些人则是有心的,让人觉得这是他自己的建议(说难听点就是抢别人的功劳);而有些人则是无心的或者根本就忘记了给你推荐意见的人。 无论是有心(有违道义)还是无心,请不要忘记提起给你好建议的人,这其实是对推荐人的肯定和鼓励,这样你才能听到更多好的建议,才会有更多的人来帮助你。...

2011-11-27 23:55:44 216

原创 设计模式之装饰者模式(Decorator)

装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者模式类图装饰者模式的关键点装饰者与被装饰者必须是一样的类型,即他们有同样的超类型。 ConcreteComponentA想要装饰ConcreteComponentB及其子类,ConcreteComponentA中必须有一个ConcreteComponentB的引...

2011-11-27 23:39:14 97

原创 设计模式之观察者模式(Observer)

观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。 基于“推”的观察者类图 基于“推”的Java事件监听器的观察者模式应用 当两个对象之间松耦合,它们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计,让主题和观察者之间实现松耦合。主题只知道观察者实现了某个接口(Observ...

2011-11-27 20:44:14 134

原创 OO设计中的一点心得

一个良好的OO设计必须具备可复用性、可扩展性、可维护性。 什么样的设计才是一个可复用性比较高的设计?高内聚。我们把散落到各地的重复代码,都扫到一起,把他封装起来,通过职责的划分,将他们归类。单一职责的设计原则是实现高内聚的方法之一。 什么样的设计才是一个可扩展性比较高的设计?低耦合。依赖接口不要依赖实现,依赖抽象不要依赖具体,最少依赖原则(只依赖第三者)等设计原...

2011-11-27 16:08:02 162

原创 设计模式之策略模式(Strategy)

策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 策略模式类图:策略模式与设计原则:封装变化把会变化的部分取出来并封装起来,以便以后可以轻易的改动或者扩展此部分,而不影响不需要变化的其他部分。(找出应用中可能需要变化的部分,把他们独立出来,不要和那么不需要变化的代码混在一起)。 针对接口编程,而不是针...

2011-11-27 15:10:33 105

原创 不要在API中使用magic number

在源代码编写中,用这么一种情况:编码者在写源代码的时候,使用了一个数字,比如0x2123,0.021f等,他当时是明白这个数字的意思的,但是别的程序员看他的代码,可能很难理解,甚至,过了一段时间,代码的作者自己再看代码的时候也忘记了这个数字代表的含义.于是感叹,虽然不知道这个数字是干什么用的,究竟代表什么,但是编译后的程序可以正常运行,真是"魔术般的数字"啊,magic number 即源于此...

2011-11-17 00:12:18 319

原创 API设计

一、优秀的API具有哪些特征:1、易学易记;2、可读性高;3、不容易用错;4、容易扩展;5、具有完整性:用户通过API能去做想做的事情,但是这是比较困难的。即便如此,至少也应该方便扩展和定制化(例如通过继承等等)。当然,设计一个完整的API这可能需要一个过程,但起码得保证有一个清晰的设计思路,或者在朝着正确的方向迈出的一步,因为并不是每一个API从最开始就是很完美的。 ...

2011-11-16 23:58:23 148

原创 Python之三(对象)

Python 使用对象模型来存储数据。构造任何类型的值都是一个对象。 对象的三个特性1、身份:可以通过内建函数id()来得到对象唯一的身份标识。这个值可以被认为是该对象的内存地址。import loggingprint id(logging) #输出:12054096       2、类型:对象的类型决定了该对象可以保存什么类型的值,可以用内建函数type()...

2011-11-13 12:34:30 126

Python之二(基础)

必须知道的1、注释用#表示2、反斜杠(\)继续上一行3、语句结束可以不用分号,两个语句连接在一行用分号4、语句块用缩进的方式5、让python支持中文,请在文件头加入以下内容:#-*- encoding: utf-8 -*- 变量赋值python变量声明不要给关键字,也不用给类型,直接上变量标识符:name='zhangsan'变量只有被创建和赋值后...

2011-11-13 12:34:14 125

Python之一(环境)

Windows安装:版本:2.5官网:GoGo中文社区:GoGo Python下载后不会将执行程序加入到环境变量中,如果有需要,需要自己配置环境变量到path下 开发工具:IDLE:安装自带,在%YOUR_PYTHON_HOME%\Lib\idlelib目录下idle.pyw,可用快捷方式链接。PyDev:Eclipse插件 DOWNLOAD...

2011-11-12 14:22:51 100

原创 IT服务于业务并推动业务的发展

其实说到这里,只是想说IT的最终目标。所以说如果脱离目标只谈IT本身,那么结果要么就是很迷茫,要么就是偏离正确方向。同理,一个架构师如果不了解业务系统,不明确业务目标,不了解商业价值,看不清行业的发展方向,那么他设计的系统就会有很大的局限性。我们知道,好的设计需要具备可复用性、可维护性与可扩展性。而这三个特性又包括从业务服务级别的可复用性、可维护性、可扩展性到系统组件级别,最后到代码级别的可复...

2011-11-12 13:40:56 283

原创 少一些批评 多一些褒奖

生活中不缺乏和自己观点不一样的声音,那是因为人的自身修养和知识结构本身是具有差异性的。 当在我们工作和生活中听到或者看到一些不一样的声音或者行为的时候,请多一份理性。 并不是每一个人都能虚心接受别人的意见,但每一个人都希望能得到别人的肯定(起码不会排斥)。 感性与无知不是不可原谅的,知性与理性也不是值得炫耀的。三人行必有我师! 少一些批评,多一些褒奖。少一些锋芒,多...

2011-11-12 12:59:17 165

原创 少一些抱怨声 多一些执行力

工作中,我们总是能听到很多关于各种各样的抱怨声。 既然有抱怨,说明有问题。有问题是好事,发现问题不是目的,解决问题才是问题所在。其实这不奇怪,奇怪的时候经常同样的问题会一直抱怨,而且这些问题并不是不能解决的。既然不是不能解决的问题,为什么首先想到的不是去解决问题? 当我们发现问题的时候,请不要在第一时间去抱怨,而是去思考解决问题的办法。事后再去总结经验教训,少一些抱怨声,多一些执行...

2011-11-12 12:36:53 163

原创 价值取决于付出

价值取决于付出,体现在你付出的同时也在感染着别人。因为你的付出,让大家感觉到快乐。因为大家的快乐,所以你的存在是有价值的。你付出的越多,感染的人也就越多,你在大家心中的价值也就越大。可能你会因为付出而失去很多时间和汗水,而你得到的却是最深层次的快乐和尊重。因为付出,你可能会多了一些责任,更多了一份担当,而正是因为这份责任与担当,可能正在默默地为你创造着一个又一个机遇。所以,...

2011-11-12 12:15:16 196

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除