Middle
Какво е зацепване?
sobes.tech AI
Отговор от AI
Свързването (coupling) е степента на зависимост между модули или компоненти на програма. Колкото по-силно е свързването, толкова по-тясно са свързани модулите, и промените в един могат да повлияят на другия. В обектно-ориентираното програмиране се стремят към слабото свързване (loose coupling), за да подобрят поддържаността и гъвкавостта на кода.
Например, ако клас A използва директно вътрешните детайли на клас B, това е силно свързване. За да се намали свързването, се използват интерфейси, абстракции или внедряване на зависимости.
Пример за слабо свързване в PHP:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// запис в файл
}
}
class UserService {
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
}
public function createUser() {
// създаване на потребител
$this->logger->log('Потребител създаден');
}
}
Тук, UserService зависи от абстракцията LoggerInterface, а не от конкретна реализация, което намалява свързването.