题
我知道这个问题已经问过,但这是一年半以前,虽然我想这可能是时间再讯问。我也认识到它可能会被看作是主观的,但我猜想有客观原因,对AOP。
我将有兴趣 谁是使用AOP 在软件开发和也 为什么 或 为什么不 使用它。
我看到AOP作为一个非常强大的范例,它可以使许多发展任务更加容易。但是,当涉及到使用AOP在现实世界项目中,我们取得的经验,许多 决策者 几乎没有打开它。 你是怎么管理的介绍AOP到您的项目?
先前的问题从2008年: 你用AOP(面向方面的节目)在生产的软件吗?
解决方案
我们的经理人听到他们的建筑队。
我们告诉他们,AOP是唯一的解决方案来实施的交叉关切特点:
- 在一个合理的费用在第一个地方
- 没弄乱的功能编写的代码开发团队
- 而没有忘记(相比,手动增加一个试试-抓到成千上万的方法),现在和未来
- 没有必要的火车或控制的开发人员正在做的(某些是很大的,其他是一个真正的混乱)
- 有一个很好的维护
真的,我们的项目20开发和持续若干年,因此有大量的代码。这是唯一的解决办法。
我认为,关键是要使用它仅适用于交叉问题。如果你可以代码,它使用常规的代码,这样做。但如果它是太大了,然后AOP是有吸引力的和有道理的。失败的限制AOP将导致百AOP点代码,那将是非常难理解。
而且,是的,我们的软件生产的软件。数以百计的诊所依赖于它!
其他提示
我们不使用AOP100%的本身,但是我们不使用,只要我们感到适当的(主要是弹簧AOP;就是这样很好地综合与Spring)
你是怎么管理的介绍AOP到您的项目?
好了,分离出跨领域的问题。追踪方法的呼吁。在弹簧AOP,可以定义的一个方面(一个运行的行为),它将得到应用到 "挂钩" 部分代码。与"迷"我是说,你应该能够组的所有方法在这里你需要的这种行为在一个共同的保护伞。在运行时,这个保护伞'ed码将获得一个新的行为定义的方面。
弹簧AOP为Peakit说是很容易的介绍如果你已经在使用弹簧框架中的项目。
我第一次加入模型或许对我们的工具项目,该项目是仅供内部使用,从未发表的客户。这帮助发展的团队,并管理来获得信心的工具,并有一个明确的概念关于什么可以为他们做的。