模式是OO设计思想面对各种设计问题时的典型解决方式,每一个模式都以OO思想中的开闭原则为出发点设计的,如果用金庸先生的武侠来引证的话,那么设计思想就是武侠中的“剑意”,独孤求败先生曾说过,手中无剑,心中有剑,这是独孤九剑的精要,同样,开闭原则就是设计模式的“总纲”,风清扬传授令狐冲独孤九剑时,剑式共分九式,从破刀式、破斧式、破枪式到最后的破剑式,每一式都是针对一类武器的破解方式,这九式就是很形象的“模式”,是帮助令狐冲破解江湖中九种典型武器的方案,所以说模式只是帮助和引导设计人员实现OO设计思想的,如果受设计模式所限,死搬硬套,最后只会被设计模式的固有思想格式限制,最终令狐冲通过对九式的理解,终于达到无招胜有招,这比他学会九式要难很多,因为风清扬要他领悟的不是固有的剑招,而是没有招式的剑意,所以有时偶这样YY:终有一天,偶会达到手中无式,心中有式的境界,哇哈哈
摘要:接口如同空的模型套,在必要时,需要向模型套注射石膏,这样才能成为一个模型实体,因此,我们将人为控制接口的实现成为“注射”。
Ioc英文为 Inversion of Control,即反转模式,这里有著名的好莱坞理论:你呆着别动,到时我会找你
为了实现调用者和被调用者解耦,新的Ioc模式 Dependency Injection 模式由此产生了,Dependency Injection模式是依赖注射的意思,也就是将依赖先剥离,然后在适当时候再注射进入。
阅读全文
摘要:HiveMind Jdon框架已经走上了彻底的可配置组件之路,JBoss 5.0版本将会将这条发展之路推向顶峰。
我们曾经梦想的“按需装配”时代已经来临,由Ioc模式/依赖注射组成微容器可以帮助我们实现对象的可替代性
阅读全文
摘要:
个人的一点疑问,在JAVA里,ASPECT编译器会对注射的代码部分视情况直接和被拦截的方法编译的,对程序员,AOP是动态的,对编译器来说,编译后的代码是按照POINTCUT中定义的顺序来执行,所以在JAVA中,AOP并不影响速度.众所周知,.NET并不是直接编译的,会产生公用语言,所以当看到.NET对AOP不冷不热的支持态度时,会让人产生和JBOSS4.0内核中大量使用AOP形成鲜明的对比的疑惑,不禁让人怀疑.NET的编译方式是否会让使用AOP的代码运行缓慢?
个人观点,待解
第二个问题:ASPECT对AOP的支持是代码级的,不用考虑性能,实现也很简单,在SPRING FRAMEWORK中,看到大多是用动态代理技术实现AOP的,想问一下,网上所说的静态AOP和动态AOP的区别就是这个吗
阅读全文
摘要:
详细的官方文档在这里:http://www.castleproject.org/index.php/AspectSharp_Language_Documentation
阅读全文
摘要:
昨天查了些AOP的文章,对AOP有了一点了解
AOP,面向切面的设计思想,其最主要的功能就是方法拦截和织入(注射).
拦截方法:为指定的方法定义触发器,就是AOP中说的ADVICE,可以动态拦截指定的方法,这样,我们不必在每个调用的方法中重复调用一些公用的东西,只要在调用这些方法时拦截,执行被调用的部分就可以了
织入(注射):织入共有三种方式,BEFORE/AFTER/AROUND,指定织入部分在何时被调用
AOP为系统中公用的方法提供了面向纵向切面的方式,大大减少公用方法和调用者的耦合
阅读全文
摘要:
AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。
阅读全文
摘要:
在设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一.在很多地方我们都会看到xxxFactory这样命名的类,那么,什么是Factory Method,为什么要用这个模式,如何用Java语言来实现该模式,这就是本文想要带给大家的内容.
阅读全文
摘要:
在面向对象的编程中,软件编程人员更加注重以前的代码的重用性和可维护性。
设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。
阅读全文
摘要:
在所有已知的各种模式中,最重要的和应用范围最广泛的模式应该就是隶属于创建型模式工厂模式了。尤其是在Framework的编程中使用更为广泛,毫不夸张的讲几乎任何一个优秀框架中都有工厂模式的影子。
阅读全文