- 博客(20)
- 资源 (35)
- 收藏
- 关注
原创 设计模式读书笔记之组合模式(Composite)
组合模式:将对象组合成树形结构以表示部分和整体的层次结构. 组合模式使得用户对单个对象和组合对象的适用具有一致性.先用一个普通的例子来解释一下组合模式. 一个很大的集团公司, 在各个大区开有分公司, 在小地区开有办事处, 一个经理,可以在办事处开展业务, 也可以在分公司工作, 还可以在总公司工作, 这是因为, 不管是总公司, 分公司, 还是办事处, 经理的工作模式基本相同, 而且总公司,
2010-03-28 22:07:00 2051
原创 设计模式读书笔记之单例模式(Singleton)
单例模式:保证一个类只有一个实例,并提供一个全局的访问途经。package designpattern.singleton;public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(i
2010-03-28 21:50:00 1999 4
原创 设计模式读书笔记之备忘录模式(Memento)
备忘录模式:在不破坏封装性的前提下,捕获对象的内部状态并保存,这样以后就可以恢复该对象恢复到保存的状态。备忘录模式比较简单, 不要因为名字比较陌生而不敢学它. 它没有复杂的结构, 上图已经能足够说明问题.Originator: 备忘录发起人, 通常是需要备忘的对象自己.Memento: 备忘录对象, 保存了Originator的内部状态. CareTaker: 备忘录管理者.
2010-03-28 18:30:00 1746
原创 设计模式读书笔记之状态模式(State Pattern)
状态模式:当对象内部状态发生变化时允许改变其行为,使对象看起来像自身发生了变化一样。状态模式解决的问题是当对象的状态转换的条件过于复杂的情况, 它把状态的判断逻辑以及状态发生变化后对象的行为改变转移到不同的状态对象中去。比如: 一个人Person, 他在不同的时间, 自身处在不同的状态, 从而有不同的行为.于是我们通常会写出这样的代码:public class Person {
2010-03-28 00:28:00 2168
原创 servlet线程安全问题
今天有人问我, servlet是不是线程安全的. 当时有点懵.首先servlet肯定不是线程安全的; 因为servlet只运行一个实例, 却要服务多个请求, 而每个请求对应server端一个新线程.然后, ServletContext不是线程安全的, 因为多个线程共享application数据;HttpSession也不是线程安全的;request是线程安全的, 每来一个新请求都要
2010-03-25 22:56:00 1036
原创 java中的equals和hashCode
在某些时候,我们需要判断两个对象是否相等。Java的每个类都继承于Object类。它使用equals()及hashCode()这两个方法来判断两个Object是否相等。 1. equals()需要满足5点: 1 自省:对于任一非null引用x,x.equals(x)应返回true;2 反射:对于任一非null引用x及y,仅在y.equals(x)返回true时,x.equal
2010-03-25 20:57:00 1101 1
原创 数据库sql基础题
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#=001) a, (s
2010-03-24 16:29:00 1469
原创 设计模式读书笔记之观察者模式(Observer)
观察者模式:让多个观察者可以监听某一个主题,当主题发生变化时,即使通知观察者,使他们自动能够更新自己。类图就免了.观察者模式比较简单, 通常的特征是:主题(被观察者)维护一个观察者序列, 当主题发生变化的时候,依次通知观察者,使之也改变自身.基础示例://抽象主题package designpattern.observer;public interface Subject
2010-03-22 22:54:00 1851
原创 设计模式读书笔记之建造者模式(Builder)
建造者模式: 将复杂对象的建造和表示分离, 使同样的建造过程可以创造出不同细节的产品.建造者模式,听名字就应该知道和工厂模式一样,是用来创造对象的。但是建造者和工厂模式的区别就是工厂模式只关注最终的产品,它往往是简单的调用被创建者的构造函数;而建造者更关心细节, 它定义了创建一个复杂对象所需的步骤, 而创建者具体的实现类可根据具体的需求,调整创建细节。示例://产品packag
2010-03-22 22:38:00 1600
原创 设计模式读书笔记之外观模式/门面模式(Facade)
门面模式:为多个子系统提供统一的高层接口,以降低客户对子系统的依赖, 减少客户使用子系统的难度.门面模式是一个名字和描述都让人感觉很难的模式,我也曾经被它的名字吓倒过。其实门面模式很简单, 就是要把下面的左图结构变为右图结构。 基础代码://子系统1package designpattern.facade;public class SubSystem1 { pu
2010-03-22 22:06:00 1705 2
原创 设计模式读书笔记之模版方法模式(Template)
模版方法模式:定义了一个算法/流程骨架,但是将一些步骤推迟到子类中去实现。示例代码://模版package designpattern.template;public abstract class Template { private void step1(){ System.out.println("This is the first step."); } pr
2010-03-22 21:31:00 1668 1
原创 设计模式读书笔记之代理模式(Proxy)
代理模式: 为其他对象提供代理以控制对该对象的访问.示例代码://公共接口package designpattern.proxy;public interface Subject { public void request();}//被代理类package designpattern.proxy;public class RealSubject implem
2010-03-22 21:03:00 1937
原创 设计模式读书笔记之原型模式(Prototype)
原型模式:通过克隆原型来创造新对象。示例代码:package designpattern.prototype;public class Prototype implements Cloneable{ private String name; public String getName() { return name; } public void setName(S
2010-03-22 20:33:00 1605 1
原创 设计模式读书笔记之抽象工厂模式(Abstract Factory)
如果一个产品家族中有多个产品, 而工厂需要创建多个产品家族, 那么前例中的工厂方法就自然演化为抽象工厂.比如我们在前面的工厂方法的基础上再添加创建DeptDao的功能.//工厂接口package designpattern.factory.abstractfactory;import designpattern.factory.*;public interface IFac
2010-03-22 20:14:00 2062 5
原创 设计模式读书笔记之工厂方法模式(Factory method)
拿前面的简单工厂的例子作案例.把简单工厂改造成工厂方法.//工厂接口package designpattern.factory.factorymethod;import designpattern.factory.*;public interface IFactory { public UserDao createUserDao();}//DB2Dao工厂 pack
2010-03-22 20:01:00 2293
原创 设计模式读书笔记之简单工厂模式(Factory)
这篇文章纯属为了后面的工厂方法和抽象工厂做对比和铺垫, 因为简单工厂就是简单的创造并返回对象, 没有复杂的结构和逻辑. 以最常见的dao为例。User对象有UserDao接口,UserDao有实现类UserOracleDao,UserDB2Dao。//业务模型package designpattern.factory;public class User {//......}
2010-03-22 19:54:00 2035
原创 设计模式之访问者模式(Visitor)
访问者模式:在不改变一个已存在的类的层次结构的情况下,为这个层次结构中的某些类定义一个新的操作,这个新的操作作用于(操作)已存在的类对象,也即新的操作需要访问被作用的对象。一句话: 为一个稳定的类结构增加操作. 也即把易变化的类的行为搬到访问者中.特点:1 访问者角色(Visitor)作用于具体的元素执行相关的操作;2 元素角色(Element)定义了accept方法接受一个访问者
2010-03-22 16:17:00 2437 6
原创 设计模式读书笔记之适配器模式(Adapter)
适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。特点:1 实现了客户希望的接口;2 持有被适配的对象;3 不改动客户代码和被适配对象。示例代码:有一个客户类学生, 骑自行车上学, 自行车是该客户类学生的期望接口, 后来学生长大了,骑摩托车,摩托车的接口不是学生期望的,so... //客户希望的接口package designpat
2010-03-15 17:53:00 1962 6
原创 设计模式读书笔记之装饰器模式(Decorator)
Decorator装饰器模式就是创建一个新类为某一个类动态添加新功能或增强原有的功能.特点:装饰器持有一个被装饰的对象;装饰器和被装饰的对象有相同的接口;装饰器给被装饰的对象添加额外的功能或增强已有的功能.即保持接口, 增强功能. 表现形式上最大的特点是装饰器使用并且实现一个父类. 示例代码://装饰器和被装饰的对象共同的接口package designpattern.de
2010-03-15 14:56:00 2714 1
原创 设计模式读书笔记之策略模式(Strategy)
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化.(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm
2010-03-15 13:58:00 2796 3
Tensorflow t5预训练语法更正模型
2021-06-21
自己写的extjs布局
2010-07-10
dhATV4树形菜单jsp版
2010-01-27
for me only do not download please.
2010-01-27
for me only, please don't download.
2010-01-26
wz_jsgraphics.js
2010-01-09
for me only please do not download(survey)
2010-01-03
for me only 1
2009-10-19
实战springmodules commons validator
2009-10-12
for me only 3
2009-10-07
ExtJS + JSP动态显示文件上传进度
2009-10-07
纯js实现的分栏效果
2009-08-28
for me only 4
2009-08-19
Delphi 报表Rave参考手册ppt版
2008-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人