摘要:
策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化. 实质:如何让算法和对象分开来,使得算法可以独立于使用它的客户而变化? 我们抛出一个具体的问题来看这个问题:多种方式比较对象的大小? 按照上面说的,我们要将对象和算法分开,所以我定义一 阅读全文
摘要:
这篇文章比较简单,作一个笔记。 模拟Iterator. Iterator接口: ArrayList类: Test: 每一种集合提供一个实现Iterator的内部类,每次调用iterator返回一个内部的实现,用户不必关心具体的实现。用户只要知道hasNext()判断集合中是否还存在元素,next取得 阅读全文
摘要:
interator是java容器遍历的一种手段,当然遍历容易你可以使用普通的for(;;)或者for(Object o : new Arraylist<Object>()),都是可以的。 先来看看JDK容器是怎么实现的吧,首先看看ArrayList,它有海纳百川的肚量,似乎找不到他的边,它可以big 阅读全文
摘要:
奔主题:模拟SpringBean工厂:先来一个简单的interface:beanFactorypackage cn.asto.spring;public interface BeanFactory { public Object getBean();}一个最简单的Spring配置文件: ... 阅读全文
摘要:
前一篇提到了静态工厂(也称为普通工厂),单例模式这一篇来谈谈抽象工厂(面向抽象类编程,故名思意)。我现在有一系列的产品 Car Ak47 Apple Computer...简单起见就取前两个。。程序员就是爱偷懒。。莫怪。小二,先来一个抽象类:Vehicle:package cn.asto.abs;p... 阅读全文
摘要:
讲工厂模式之前先来谈谈设计模式中最简单的模式 单例,很简单就是永远只能得到一个实现。Car:package cn.asto.factory;public class Car { private static Car car = new Car(); private Car(){} ... 阅读全文
摘要:
过滤器之双向过滤? 在WEB应用中无非就是一个request,response.怎么样定义过滤器进行双向拦截呢?即在request过去的时候进行一系列的拦截,在response回来的时候也进行一系列的拦截。说代码:定义两个的JavaBean :Request,Responsepackage cn.a... 阅读全文
摘要:
入正题,需求:假如我想对一些信息进行一定规则的过滤.首先定义一个Main类:package cn.asto.filter;public class Main { String str = " hello 大家好! 敏感词汇!";}我想对javacript标签进行过滤,对敏感词汇进行过滤。定义M... 阅读全文
摘要:
观看这篇文章前,请先阅读设计模式之代理模式(1)静态代理会发生类爆炸?那jdk的使用的动态代理到底是怎么做到的呢?我来大概模拟一下jdk的动态代理。这是我的目录结构:(可先跳过代码,到最下面听下我的BB,在对照代码来看!)我先来介绍一下这些兄弟:Tank:package cn.asto.proxy;... 阅读全文
摘要:
前一篇文章提到了是静态代理,其实用聚合的方式实现代理,当需求过多的时候,也会发生类爆发。所以上有政策,下有对策嘛!可以把所有的代理放在一个代理类中Proxy类中,Proxy被称为总代理!由总代理实现动态代理!要说的东西有点多,先上个代码把!Proxy.java(总代理)package cn.asto... 阅读全文