Java设计之美
xuguoli_beyondboy
只要笑一笑,没什么过不了。程序员懂得编程之美,也要懂得生活之美,艺术之美,心理之美。
展开
-
闭包和回调
闭包是一种能被调用的对象,它保存了创建它的作用域信息,对于非静态内部类而言,它不仅记录了其外部类的详细信息,还保留了一个创建非静态内部类对象的引用,并且可以直接调用外部类的private成员,因此可以把非静态内部类当成面向对象领域的闭包。 回调:就是某个方法一旦获得了内部类对象的引用后,就可以在合适的时候反过来去调用外部类实例的方法,所谓回调,就是允许客户类通过内部类引用来调用其外原创 2015-02-02 23:17:34 · 482 阅读 · 0 评论 -
java接口之美和特殊之处
很早就看到了Java编程思想的接口这章,一直没有找有空的时间把它总结出来,现在倒回去总结一下Java为什么要有接口以及接口是如何带来代码优雅之美的,又和继承有什么不同呢?1接口是一种模板,是从多个相似类中抽象出来的规范,不提供任何实现,它能体现出是规范和实现分离的设计哲学,从而达到减少代码量以及减少代码依赖来达到更好的维护性以及遵循开放和封闭原则。假如有一个Store类,它有一个name(原创 2015-01-27 23:06:06 · 702 阅读 · 0 评论 -
适配器仿真潜在类型机制
适配器模式分两种:类适配器和对象适配,学过这种设计模式了清楚,它可以让一个类的接口转换成客户所期待的接口,从我们拥有的接口中编写代码来产生我们需要的接口,可以是代码更泛化,从而就接近与其潜在类型机制了。 代码例子: 泛型类型参数类代码://公共父类public class Coffee { private static long counter = 0; //标记每个子类的标识值原创 2015-03-09 20:03:07 · 684 阅读 · 0 评论 -
注册工厂
当我们要随机创建多个不同父类的子类时,我们可以用工厂方法设计模式结合泛型实现。 代码例子:public interface Factory<T> { T create(); } class Part { public String toString() { return getClass().getSimpleName(); } //储存对象工原创 2015-05-17 00:51:41 · 598 阅读 · 0 评论 -
动态代理
代理也是基本的设计模式之一,它是你为了提供额外不同的操作,而插入的用来代替“实际”对象的对象,这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色,在动态代理上所做的所有调用都会被重定向到单一的调用处理器上。 代码例子:interface Interface { void doSomething(); void somethingElse(Stri原创 2015-05-17 08:51:08 · 454 阅读 · 0 评论