最近看了一些设计模式,感觉短短的代码,能抽象出很多东西,   原来写代码的时候每整体的考虑,也许只有写了一段时间的代码,才会对设计模式有比较深的体会   builder创建者,从名字上理解,他主要承担的是构件对象的操作   书上定义   builder:将一个复杂对象的构造与它的表示分离,使得同样的构件过程可以创建不同的表示   builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知   道内部的具体构建细节.有点类似工厂方法模式和抽象工厂模式, ...
克隆,大家都听过,JAVA克隆实现的大致意思就是实现类的克隆,为什么JAVA要实现克隆了,那就要说到JAVA里面的指针,引用   我先贴一段测试代码,再慢慢解释   package com.linpyi.clone; public class TestClone { public static void main(String[] args){ TestBean bean1= new TestBean(); //初始化给bean赋值 bean1.setId(1); bean1.setName("name1"); //打印出 ...
今天本来看着原型模式的,不知怎么搞的就到了String和StringBuffer了   网上找了一些资料   String 对象是非可变对象   StringBuffer 对象则是可变对象。   非可变对象一旦创建之后就不能再被改变,可变对象则可以在创建之后被改变。   为了性能你可以选择不同的对象,效果差别很大   底下贴一段测试代码   package com.lpy.thread; public class StringAndStringBuffer { public stat ...
代理模式分为2种   其实就是实现一个代理类,来代理你所需要代理的类,访问的时候,通过访问代理类,来达到一定的效果   举个例子:   权限:有一个系统有很多权限,比如说只有管理员有增加的功能.用户访问到DAO的saveMessage方法   这个其实就是真正需要的保存方法,但是只有管理员才有权限   public class DbMessage implements Message{ ... public void saveMessage(String name) throws ForumAlreadyExists ...
最近发现好懒,奥运前就打算写的BLOG,拖到奥运后才写,咳...放假3天什么都没干,整天无所事事....       工厂方法模式是简单工厂模式(静态工厂模式)的一种推广,他保持了简单工厂模式的优点,并在上面有了一些提升   在工厂方法模式中,核心工厂不再负责所有实例的创建,而改为了由他的子类进行创建工作.核心工厂类变为了抽象的角色.     工厂方法模式的系统涉及到了以下角色:       抽象工厂角色:与应用程序无关,任何在模式中创建对象的工厂必须实现这个接口。 &n ...
工厂模式看了几天了,以前曾经有看过,不过没去细看,只是简单的返回一些对象,没考虑到底使用的是哪种对象,这几天翻了一   些资料,给搞晕了,好在今天翻到一个高手的BLOG,渐渐的清楚了,以下是引用的一些重点段落     1.1 简单工厂(Simple Factory)模式 简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。   1.1.1 工厂模式的几种形态 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的 ...
      抽象类与接口的区别   abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。 其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们 ...
1.的定义   RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种象使用Web一样简单的方式来部署富客户端程序。这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用胖客户端技术运行复杂应用系统的机构来说,RIA确实提供了一种廉价的选择。   2. RIA的产生背景   基于HTML的应用程序之所以变得流行是由于应用系统的部署成本低、结构简单,且HTML易于学习和使用。很多用户和开发人员都乐于放弃由桌面计算机带来 ...
距离上次写ext已经过去一个星期了,一个星期没学到什么,就整理一个登陆,郁闷死了   从BLOG的访问量知道EXT学习的人还真多.看来偶是退步了   上个星期做了登陆,可是到最后都是失败,一直没找到原因,在CSDN,javaeye发了很多的帖,都没有得到想要的答案,最后一位   大哥点醒了我,原来是提交的URL出问题了,好久没写servlet竟然连servlet的提交代码都错,   正题:   这段时间看了一些关于ext的代码,也写了一些代码,发现我开始学习ext的目标错了   最开始想学EXT是因为感觉他的A ...
目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make 的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。 Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 M ...
linpyi
搜索本博客
我的相册
99341dc9-02fb-34a3-8ee4-13a2d17f9984-thumb
factory_5
共 5 张
最近加入圈子
存档
最新评论