软件开发为什么这么难呢? 其中一个理由是有太多的事情需要密切关注。从人本的角度,你不得不关注时间,预算,资源,技能等为题。 团队的意愿,经常会接到比自己所能承担的还多的任务。 作为一名开发人员,你必须理解应用,领域知识,以及平台的特性。 你可能会在编写类、操作的代码时,发现程序必须实现很多功能,因此必须对设计进行改进,使其更加模块化。 正如,团队中的每个成员都必须明确地聚焦于自己的工作一样,每个组件,每个类,以及每个操作都必须聚焦于特定的目标。 但是,现有的技术会使你受到限制。无论你做什么,都会发现系统中很多地方需要完成日志、验证、六寸、除错、跟踪、分布性、错误处理等方面任务的代码段。 有时候,操作或对象中的很大部分不是在实现预期达到的功能。面向方面编程(AOP)将这种冗余称为“横切关注点”,这是因为这些代码存在于许多操作和类中,就是横切于操作和类中。“横切关注点”并不仅限于诸如验证、留存等这样的技术关注点。他还包括系统和应你会发现功能性需求的改变也经常会影响很多类。 以前一直不明白AOP讲的是什么,看了一些书,现在有点明白了,我认为其实就是对业务逻辑和系统分析的一种分类方法。 主要是把一些公用的功能,从各个类中抽象出来,形成新的类,然后,这些原有的业务类,只需要调用这些抽象出来的功能。 收集:http://shilye.bokee.com/1523004.html