有人可以解释capi软件包的用途吗?它用于依赖注入吗?

还有,连接两个BO(例如,BasketBOBucketBO以访问其方法并创建一些新数据)的正确方法是什么?

是通过管道还是通过一些新的公共对象?

最佳答案

capi(墨盒API)程序包是您将接口/类放入墨盒的公共API的地方。您可能已经注意到几乎也总是有一个内部包,这是公共API的实现所在。因此,接口SomeObjectMgr将位于com.example.capi包中,而实现类SomeObjectMgrImpl将位于com.example.internal包中。您可以认为capi软件包是稳定的,而内部软件包可能会在版本之间发生巨大变化。

至于您的第二个问题,如果BO属于同一类,则它们在aggregate中组合在一起,但是一个聚合可以引用其他聚合。因此,您不受建立关系的限制。例如,BasketBO可以使用其访问方法访问BucketBO对象。您可以编写带有业务逻辑的extension来操纵两个BO,并返回所需的任何数据。但是请记住,事务控制在管道/管道级别上。因此,如果需要进行事务回滚,则在设计方法时要考虑到这一点。

至于依赖注入,intershop使用Google的guice框架。您可以在here中找到有关如何使用它的更多信息。

10-04 19:21