【发布时间】:2019-11-03 08:21:06
【问题描述】:
我想通过创建与我的代码的更低耦合度来使用 GRASP 改进我的代码。在我的示例中,我不确定我是否在进行低耦合,以及我是否在进行松耦合而不是高耦合?
我正在使用 Spring Boot 制作我的项目。在我的管理控制器中,我正在处理两个类:RestaurantcardService 和 ContentsectionService(来自我的服务层)。这两个类都实现了名为I_RestaurantcardService 和I_ContentsectionService 的接口。
代码如下所示:
public class AdminController {
RestaurantCardService restaurantcardService;
ContentsectionService contentsectionService;
public AdminController (){
this.restaurantcardService = new RestaurantCardService ();
this.contentsectionService = new ContentsectionService ();
}
现在我的问题是:
如果我实现RestaurantCardService 和ContentsectionService 的接口作为属性的数据类型而不是类本身,耦合不会下降,因为我们可以在RestaurantCardService 的另一个变体中实现接口和ContentsectionService?
然后它看起来像这样:
【问题讨论】:
-
你在说什么耦合?包之间或一个包中的类之间的耦合?一般来说,应该对同一个包中的类进行强/高耦合,而对不在同一个包中的类进行非常低的耦合。包结构的设计对于维护来说真的很重要。
-
也许软件工程 Stackexchange 更适合这类设计原则问题
-
我试图改进格式,但似乎有些代码最后缺少您提出的想法。
标签: java loose-coupling coupling grasp