IApplicationService : 空接口,起標識作用。所有實現了IApplicationService 的類都會被自動注入到容器中。同時所有IApplicationService對象都會被注入一些攔截器(例如:auditing, UnitOfWork等)以實現AOP
AbpServiceBase:抽象類,封裝了對一些通用功能的調用。比如Setting,Localization和UnitOfWork功能。
ApplicationService: 作為所有其他appservice的基類。其封裝了對AbpSession, Permission和Feature這些模塊的功能調用.
使用過ABP的都知道,application service有諸多"神奇"的功能.是不是沒想到 application service 設計卻如此簡單。 其實不然,application service這些"神奇"的功能都是通過castle 攔截器實現的。這些攔截器的實現其實不簡單。這樣的設計不就是平時一直強調的解耦,AOP,IOC什么的么。