Я хочу улучшить свой код с помощью 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
?
Тогда это будет выглядеть так: