类接口可用于分离问题而不是AOP吗?

时间:2011-04-21 22:17:53

标签: java .net aop

我在这里问了一个关于界面的问题How to organize class interfaces hierarchy?,有人回答了分离关注。

这种关注与类接口的分离与AOP之间是否存在联系?

2 个答案:

答案 0 :(得分:1)

AOP只是一种不同的编程范式,它有一个支柱下面的OOP。

类接口是更具体的,当你想要定义一个在不同类之间可以通用的属性时,应该使用它。

提到的关注点分离可能与那些不同的属性有关,这些属性在被发现和不同时应该允许创建一个新的接口,从而允许其他类实现它们,并使它们成为可能有一些共同点,它们与它们有关,并且是可见和明确的。

AOP不应该用于此目的,因为它涉及自己的范例,而且这是您已经可以通过接口实现的任务。 AOP在另一个层面上改变了一些东西,允许你通过定义要提示的切入点来改变整个程序的行为。

答案 1 :(得分:1)

使用接口,您可以将方法组合在一起,然后将详细信息封装在实现中。这通常使您的应用程序更加便携。例如,如果您为不同的数据库供应商提供了多个DAO实现,则可以创建一个接口并为每个数据库实现它。您可以在保持接口结构相同的情况下交换实现。

使用AOP可以解决应用程序中的横切问题。例如,如果您的所有DAO方法都需要事务管理,那么这是一个常见问题,您可以在那里使用AOP模式。

关注点分离是一个通用术语和通用编程原则。你想尽可能多地分离。使用接口和AOP,您可以促进解耦。