设计模式
疯狂1024
热爱编程
展开
-
装饰者模式
装饰着模式用到最多的地方也就是io流:首先需要知道装饰着模式有几个角色需要了解:抽象构建角色:被装饰类的实现的接口;具体构建角色:被装饰的类;抽象装饰角色:装饰类的实现接口,接口中有被装饰类接口的引用;实现了抽象构建角色;具体装饰角色:装饰被装饰的类,在这个类实现了抽象装饰角色;整个装饰模式的理念:首先肯定需要有一个被装饰者角色,那么必然需要有装饰者,不然被装饰者谁来装饰。所以在装饰者中必然需要有...原创 2018-05-27 15:51:27 · 338 阅读 · 0 评论 -
工厂模式
在看这个工厂模式前,先理解下几种角色:工厂类角色:该角色用来创建具体的功能产品。比如工厂富士康抽象产品角色:这个就好比是现在这个富士康做电脑。那么就需要抽象出一个电脑的产品角色;具体产品角色:具体产品角色需要实现抽象产品角色,比如联想、华硕等然后可以直接告诉工程我想要一个联想电脑,然后工厂类角色就创建一个联想电脑给客户;工厂类角色(有创建具体产品的能力):public class Creator...原创 2018-05-27 16:11:56 · 2878 阅读 · 0 评论 -
策略模式
在理解代码前先理解下面角色代表:抽象策略角色:策略类,通常由一个接口或者抽象类实现:具体策略角色:包装了具体需要执行的算法和行为:AddStrategy抽象接口的实现类环境角色:持有一个抽象策略类的引用(比如这里就是使用了多态)客户端这个时候就需要知道有哪些具体的策略,传一个策略角色实例,那么就会按照具体的策略角色去实现:抽象策略角色/* * 这个就相当于策略模式 * 抽象策略模式角色:策略类...原创 2018-05-27 16:28:25 · 127 阅读 · 0 评论 -
java静态代理设计和实现
静态代理其实就是一个代理类,然后有被代理的类。静态代理能被代理的类已经知道好了,就好比一个房子中介,已经知道哪些人房子在这被代理。客户然后去租房子,然后找代理商。代理商和被代理的客户直接联系。客户需要租房子只是和代理商打交道,但是实际客户是租被代理的人的房子;抽象代理角色:(知道能代理哪些功能,这里的功能和具体被代理角色的功能只能说有调用功能:最后完成操作的还是具体被代理角色)public abs...原创 2018-05-27 17:00:01 · 294 阅读 · 0 评论 -
动态代理模式的理念和实现
动态代理和静态代理的区别在于,静态代理是在运行前就只要被代理类,然后在这个代理类中写死了被代理的这个类的那个方法,这个时候如果使用的动态代理的话,并不需要在代理类中写死被代理的那个类中调用哪些方法。动态代理使用反射的功能,是动态自动创建一个代理类的实例。(这个代理类就可以意义上看做的被代理的类。操作和被代理类一样的方法)。在动态创建这个代理类的时候首先需要一个类加载器,第二个参数告诉代理的这个代理...原创 2018-05-27 17:49:34 · 662 阅读 · 0 评论 -
Java数据库连接库JDBC用到设计模式
桥接模式:定义 :将抽象部分与它的实现部分分离,使它们都可以独立地变化。意图 :将抽象与实现解耦。桥接模式所涉及的角色 1. Abstraction :定义抽象接口,拥有一个Implementor类型的对象引用 2. RefinedAbstraction :扩展Abstraction中的接口定义 3. Implementor :是具体实现的接口,Implementor和RefinedAbst...原创 2018-06-09 01:02:43 · 4411 阅读 · 0 评论