最近看了一些设计模式,感觉短短的代码,能抽象出很多东西,
原来写代码的时候每整体的考虑,也许只有写了一段时间的代码,才会对设计模式有比较深的体会
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 ...
- 浏览: 1629 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
factory_5
共 5 张
共 5 张
链接
最新评论
-
设计模式-创建者模式(Bui ...
回复:congjl2002 接口在某种程度上和interface是差不多,在这也 ...
-- by linpyi -
设计模式-创建者模式(Bui ...
确实很难说,不过你这个类ComputerBuilder 为什么不定义为Inter ...
-- by congjl2002 -
eclipse配置spket
呵呵,不好意思,刚刚才看到,以后大家一起学习
-- by linpyi -
eclipse配置spket
呵呵,上面的问题解决了,原来在选择安装路径时,要选到MyEclipse 下的ec ...
-- by guobosheng -
eclipse配置spket
兄弟,我是在MyEclipse6.0下面安装的,安装完后,打开window-pr ...
-- by guobosheng






评论排行榜