Java
文章平均质量分 76
bananabear
。。。。。。
展开
-
MVC在Java GUI项目中具体应用(概述篇)
MVC在Java GUI项目中具体应用论文摘要n 在Java GUI项目中,程序设计或者编码时经常会碰到一些头疼的问题,例如需要的数据在自己需要的时候得不到,无奈增加一些静态变量或者公共函数来取得数据,或者应该刷新界面的时候得不到相关组件的对象等等。本来很好的设计最后被改的面目全非,甚至会被推翻了。本文提出自己总结的一个基于MVC模式的设计架构,来解决Java GUI项目中的一些常见问题原创 2008-12-17 16:30:00 · 3191 阅读 · 1 评论 -
设计模式之Interpreter(解释器)
Interpreter解释器模式定义:定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:首先要建立一个接口,用来描述共同的操作.public interface AbstractExpression { void inte转载 2007-04-06 16:53:00 · 540 阅读 · 0 评论 -
设计模式之Strategy(策略)
Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现.这里以字符串替代为例, 有一个文件,我们需要读取后,希望替代其中相应的变量,然后输出.关于替代其中变量的方法可能有多转载 2007-04-06 16:52:00 · 475 阅读 · 0 评论 -
设计模式之Command
Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对自己实际编程有指导作用.Command模式实际上不是个很具体,规定很多的模式,正是这个灵活性,让人有些confuse.Command定义n 将来自客户端的请求传入一个对象,无需了解这个请求激活的 动作或有关接受这个请求的处理细节。这是一种两台机器之间通转载 2007-04-06 16:50:00 · 491 阅读 · 0 评论 -
设计模式之Chain of Responsibility(职责链)
Chain of Responsibility定义Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request. 也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。如何使用?转载 2007-04-06 16:49:00 · 479 阅读 · 0 评论 -
设计模式之Memento(备忘机制)
Memento备望录模式定义:memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.Memento模式相对也比较好理解,我们看下列代码: public class Originator { private int number; private Fil转载 2007-04-06 16:47:00 · 461 阅读 · 0 评论 -
设计模式之Template
Template模板模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。 public abstract class Benchmark{ /** * 下面操作是我们希望在子类中完成 */转载 2007-04-06 16:47:00 · 475 阅读 · 0 评论 -
设计模式之Decorator(油漆工)
装饰模式:Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的. Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.为什么使用Decorat转载 2007-04-06 16:44:00 · 478 阅读 · 0 评论 -
设计模式之Builder
Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节.Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到.为何使用?是为了将构建复杂对象的过程和它的部件解耦.注意: 是解耦过程和转载 2007-04-06 16:38:00 · 427 阅读 · 0 评论 -
建筑和软件中模式之异同
CSDN的透明特别推崇《建筑的永恒之道》,认为从中探寻到软件的永恒之道,并就"设计模式"写了专门文章《探寻软件的永恒之道 》,其中很多观点我看了很受启发,以前我也将"设计模式" 看成一个简单的解决方案,没有从一种高度来看待"设计模式"在软件中地位,下面是我自己的一些想法:建筑和软件某些地方是可以来比喻的特别是中国传统建筑,那是很讲模式的,这些都是传统文化使然,比如京剧 一招一式都有套路;中转载 2007-04-06 16:34:00 · 595 阅读 · 0 评论 -
设计模式之State
State模式的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.何时使用?State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较转载 2007-04-06 16:51:00 · 493 阅读 · 0 评论 -
设计模式之Flyweight(享元) FlyWeight模式
Flyweight模式定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).为什么使用?面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还有一些特性是取决转载 2007-04-06 16:46:00 · 403 阅读 · 0 评论 -
设计模式之Composite(组合)
Composite模式定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形转载 2007-04-06 16:43:00 · 436 阅读 · 0 评论 -
设计模式之Adapter(适配器)
适配器模式定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.为何使用?我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办? 使用Adapter,在这两种接口之间创建一个混合接口(混血儿).如何使用?实现Ad转载 2007-04-06 16:42:00 · 428 阅读 · 0 评论 -
设计模式之Proxy(代理)
理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣.代理模式是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.为什么要使用P转载 2007-04-06 16:41:00 · 413 阅读 · 0 评论 -
设计模式之Facade(外观 总管 Manager)
Facade模式的定义: 为子系统中的一组接口提供一个一致的界面.Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作: public class DBCompare { Connection conn = null; PreparedStatement转载 2007-04-06 16:40:00 · 454 阅读 · 0 评论 -
设计模式之Factory
工厂模式定义:提供创建对象的接口.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样转载 2007-04-06 16:36:00 · 409 阅读 · 0 评论 -
你还在用if else吗?
面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断。如果你还在大量使用if else,当然,界面表现层除外,即使你使用Java/C#这样完全面向对象的语言,也只能说明你的思维停留在传统的面向过程语言上。传统思维习惯分析 为什么会业务逻辑层使用if else,其实使用者的目的也是为了重用,但是这是面向过程编程的重用,程序员只看到代码重用,因为他看到if e转载 2007-04-06 16:35:00 · 478 阅读 · 0 评论 -
设计模式之Iterator
这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入Collection中,直接使用Iterator进行对象遍历。转载 2007-04-06 16:55:00 · 675 阅读 · 0 评论 -
学习GoF设计模式的重要性
著名的EJB领域顶尖的专家Richard Monson-Haefel在其个人网站:www.EJBNow.com中极力推荐的GoF的《设计模式》,原文如下:Design Patterns Most developers claim to experience an epiphany reading this book. If youve never read the Design Patter转载 2007-04-06 16:33:00 · 455 阅读 · 0 评论 -
设计模式之Prototype(原型)
原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。如何使用?因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变转载 2007-04-06 16:37:00 · 449 阅读 · 0 评论 -
提高自己JAVA水平的十大技术讨论
本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XML莫属。这里不仅仅指XML规范本身,还包括一系列有关的基于XML的语言:主要有XHTML,XSLT,XSL,DTDs,XMLSche转载 2008-11-03 17:17:00 · 1028 阅读 · 1 评论 -
通过改善代码布局提高应用程序性能
通过改善代码布局提高应用程序性能 Print-friendly VersionBy Darryl Gove, 6/9/08 大型应用程序都存在一个特定的问题:它们拥有许多指令,但是处理器无法一次将整个程序载入转载 2008-07-14 16:53:00 · 793 阅读 · 0 评论 -
透明和不规则 Swing 窗口
透明和不规则 Swing 窗口 Print-friendly VersionBy Kirill Grouchnikov, 4/22/08 支持透明和不规则窗口已经成为 AWT 和 Swing团队长久以来梦转载 2008-07-14 16:43:00 · 1184 阅读 · 0 评论 -
Java SE 6 update 10 Beta 简介
Java SE 6 update 10 Beta 简介 Print-friendly VersionBy Ethan Nicholas, 7/4/08转载 2008-07-14 16:47:00 · 1249 阅读 · 0 评论 -
JDK自带的native2ascii工具完全揭密
背景: 在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文 件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换 为java正确识别的编码问题就解决了。转载 2008-07-07 11:07:00 · 464 阅读 · 0 评论 -
java中相对路径,绝对路径问题总结
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:/xyz/test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。 相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的转载 2007-05-30 12:56:00 · 1014 阅读 · 0 评论 -
类的设计方法
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。Java包(Package)属于一种特殊情况转载 2007-05-30 12:55:00 · 991 阅读 · 0 评论 -
javamail读取完整的邮件
Javamail API虽然功能封装的比较完整,但是要写一个能正确显示复杂邮件的程序还有很多逻辑和细节要处理。下面是我最近做一个webmail时整理的 Servlet,基本上可以正确的读取text,HTML,HTML中显示图片及附件。在本servlet中也简单处理了常见的中文问题,包括主题、附件、HTML图片中文、email Address中文。总体感觉有两个难点:1、附件和网页图片的抓取,需要定转载 2007-05-30 12:54:00 · 1946 阅读 · 0 评论 -
I18N-国际化消息和日志
对于许多软件开发者来说,一提到国际化(亦称为 i18n)支持就会感到害怕。 要使编写的代码能够面向外国使用者,确实需要费一翻思量,因为在现有软件的代码中添加国际化支持可不是一件轻而易举的事。 如果您感觉到软件需要支持不同语言和语言环境,哪怕这种可能性很小,从一开始就做国际化项目的准备,比起项目开始后再试图添加国际化支持也要明智得多。有人问“国际化”是什么意思? 国际化远不止于将用户界面消息翻译成不转载 2007-04-19 15:50:00 · 1946 阅读 · 0 评论 -
Java EE 6 草案提交, 新特性一览
本月初, Bill Shannon 已经向JCP提交了Java EE 6 草案. 这也是JCP第一次揭示Java EE的概念,由于先前有JSRs,JSR 313 将不在定义新的API,但是将调整许多sub-JSRs 的工作来为Java EE 6平台提供一致性。 JCP的站点提供了一些关于Java EE 6的发展趋势: 扩展性 对Java EE平台来说没有限制的增长包括对web和企业转载 2007-04-19 15:15:00 · 797 阅读 · 0 评论 -
Java 7.0 中值得期待的新功能预览
据国外TSS网站报道,Alex Miller发表了一篇文章,文中对Java 7.0 涉及的功能做了完整的总结。这些功能包括:JSR 277 Java模块系统(Java Module System) JSR 294 提升的模块性支持(Improved Modularity Support) JSR 295 Beans绑定(Beans Binding) JSR 303 Beans验证(Beans Va转载 2007-04-19 11:19:00 · 739 阅读 · 0 评论 -
Java SE 6中XML数字签名标准Java接口
1. 技术背景1.1 数字签名简介 数字签名是非对称密钥技术的一种应用模式,用于保证报文的完整性,不可否认性,以及提供身份认证信息。数字签名的原理如图 1 所示。图 1:数字签名的原理 发送者在发送报文之前,先选用某种摘要算法为报文生成一个摘要值,并使用自己的私钥对摘要值加密,然后将加密后的摘要附在报文后面,一同发送给报文的接收者。接收者收到报文后,从中分离出原始报文转载 2007-04-19 17:03:00 · 1268 阅读 · 0 评论 -
设计模式之Visitor
Visitor访问者模式定义作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为.为何使用Visitor?Java的Collection(包括Vector和Hashtable)是我们最经常使用的技术,可是Collection好象是个黑色转载 2007-04-06 16:54:00 · 755 阅读 · 0 评论 -
设计模式之Mediator(中介者)
Mediator中介者模式定义:用一个中介对象来封装一系列关于对象交互行为.为何使用Mediator?各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性.如转载 2007-04-06 16:53:00 · 641 阅读 · 0 评论 -
设计模式之Observer
Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Observer(观察者)模式是比较常用的一个模式,尤其在界面设计中应用广泛,而本站所关注的是Java在电子商务系统中应用,因此想从电子商务实例中分转载 2007-04-06 16:48:00 · 463 阅读 · 0 评论 -
设计模式之Bridge
Bridge模式定义 :将抽象和行为划分开来,各自独立,但能动态的结合。任何事物对象都有抽象和行为之分,例如人,人是一种抽象,人分男人和女人等;人有行为,行为也有各种具体表现,所以,“人”与“人的行为”两个概念也反映了抽象和行为之分。在面向对象设计的基本概念中,对象这个概念实际是由属性和行为两个部分组成的,属性我们可以认为是一种静止的,是一种抽象,一般情况下,行为是包含在一个对象中,但是,转载 2007-04-06 16:44:00 · 447 阅读 · 0 评论 -
设计模式之Singleton(单态)
单态定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,转载 2007-04-06 16:39:00 · 420 阅读 · 0 评论 -
C#,C++,Java比较
1:纯对象导向语言C# 和 Java 都是纯对象导向语言,C++ 非纯对象导向语言。2:强制型态检查C# 和 Java 都强制进行型态检查,C++ 则较宽松。3:宏C# 和 Java 都不支持宏,C++ 支持宏。4:TemplateC# 和 Java 都不支持 template,C++ 支持 template。5:多重继承C# 和 Java 都不支持多重继承,且都支持 interface,C++转载 2007-06-30 09:50:00 · 1321 阅读 · 0 评论 -
与JBuilder2007的第一次亲密接触
在Borland的JBuilder称雄Java IDE多年后,但最近几年在其它的Java IDE(如Eclipse、NetBeans等)兴起后,从JBuilder手中抢走了大量的用户,JBuilder也在这几年里从鸡腿熬成了鸡肋。而Borland在销售它的IDE部分失败后,它最新的JBuilder2007一改Borland以往的做法,装上Eclipse的“心”又重新上战场了。在本文中我们将看到基于转载 2007-04-04 11:02:00 · 735 阅读 · 0 评论