我将我的服务包和我的api包分开了。在我的api包中,我有一个包含来自另一个api包的实体的实体。这是一个设计问题还是一个好的做法?
我希望很清楚; - )
谢谢,
答案 0 :(得分:0)
如果您设法保持API自包含,那总是好的,但这并不总是可行的。所以我不认为依赖于另一个API总是一件坏事。
答案 1 :(得分:0)
为方便起见,您可能希望分发bundle-all.jar文件,而不仅仅是单独的文件。
答案 2 :(得分:0)
目标应该是使用基本的JDK类型尽可能地保持API的耦合。但是,有时您确实需要使用其他抽象或不想重复功能。正如设计中的大多数事情一样,它在相反的力量之间找到了最佳。在软件中,您希望最小化耦合并最大化内聚。
最小化API耦合的一个技巧是使用JDK中的共享类型。整数与字符串ID在这方面通常很有效。例如,在OSGi enRoute中,Authentication服务不返回UserAdmin服务的User对象,但它返回用户的String id。因此,身份验证服务可以与User Admin服务一起使用,但不会强制要求。潜在地,也可以使用另一个用户数据库,将选择留给服务的用户。