代码改变世界

23种设计模式中的适配器模式

2017-08-05 21:03 by 猪牙哥, 221 阅读, 0 推荐, 收藏, 编辑
摘要:适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容。 个人见解:适配器模式实际上是用一个类来将两个不同类型的类进行兼容。 实际上是这样子的: public interface IA{ //接口IA public void a(); } public interface IB{/ 阅读全文

23种设计模式中的工厂模式

2017-08-05 17:36 by 猪牙哥, 148 阅读, 0 推荐, 收藏, 编辑
摘要:工程模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 个人见解:实际上是为了替代创建对象直接new的这种方式,在开发过程有一定的意义。 阅读全文

23种设计模式中的命令模式

2017-08-05 17:33 by 猪牙哥, 167 阅读, 0 推荐, 收藏, 编辑
摘要:命令模式:将请求、命令、动作等封装成对象,这样可以让项目使用这些对象来参数化其他对象。使得命令的请求者和执行者解耦。 个人见解:如果不理解可以参考MVC模式,有C来控制V加载M,以达到V和M之间的解耦 阅读全文

23种设计模式中的单例模式

2017-08-05 15:12 by 猪牙哥, 164 阅读, 0 推荐, 收藏, 编辑
摘要:单例模式:确保一个类最多只有一个实例,并提供一个全局访问点。 单例模式在多线程里面的优化: ①同步(synchronized) getInstance方法,缺点:耗资源多,优点:目的达到了 ②“急切”创建实例 ③双重检查加锁 阅读全文

23种设计模式中的装饰者模式

2017-08-05 14:23 by 猪牙哥, 153 阅读, 0 推荐, 收藏, 编辑
摘要:装饰者模式:动态地将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性。 个人见解:装饰者模式实际上是通过不断的添加成员扩展新的功能,譬如new AAA(new BBB(new CCC(...)))。 阅读全文

23种设计模式中的观察者模式

2017-08-05 12:33 by 猪牙哥, 168 阅读, 0 推荐, 收藏, 编辑
摘要:观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化。 可以具体参考java中的Observable(被观察者)和Observer(观察者)这两个类 阅读全文

23种设计模式中的策略模式

2017-08-05 11:14 by 猪牙哥, 200 阅读, 0 推荐, 收藏, 编辑
摘要:策略模式:分别封装行为接口,实现算法族,超类里放行为接口对象,在子类里具体设定行为接口对象(初始化具体的行为对象)。原则就是分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。实际上java编程思想也说过,继承和组合的选择,优先组合。 个人见解:策略模式实际上是为 阅读全文

java注解和反射的结合使用

2017-08-03 22:49 by 猪牙哥, 5208 阅读, 0 推荐, 收藏, 编辑
摘要:首先反射注解,那么保留策略必须是Runtime,也就是@Retention(RetentionPolicy.RUNTIME) ①定义一个注解类 ②在定义一个类使用注解类 ③在main方法里面反射注解 输出结果 阅读全文

java注解

2017-08-03 21:35 by 猪牙哥, 266 阅读, 0 推荐, 收藏, 编辑
摘要:java注解在我们使用框架的时候经常会遇到,那么java注解又是如何运行,我们应该怎样编写我们的注解,提高我们的编码逼格,这个就是我们今天要讨论的内容。 ①定义注解类 ②注解的作用目标: *类 *方法 *构造器 *参数 *局部变量 *包 ③注解的属性定义格式:类型 属性名(); ④注解的属性类型 * 阅读全文

java泛型类型擦除

2017-08-02 21:48 by 猪牙哥, 166 阅读, 0 推荐, 收藏, 编辑
摘要:实际上java虚拟机并不认识java泛型,是编译器编译的时候就已经知道确定类型了,这就是java泛型中的类型擦除。只是做了一个语法检查,泛型并没有我们想象中的那么神秘! 阅读全文