hdd
Новичок
ООП, связаные классы и повторное использование кода
В умных книжках люди пишут, что нужно стремиться строить свою систему таким образом, чтобы классы были как можно меньше связаны друг с другом, и как можно больше использовали свои собственные данные. С этим я согласен, но что если нескольким классам требуется для работы другой, который жить не может без третьего.
Простой пример:
---------------
A - класс БД, который использует какой-нить более низкоуровневый класс (B, для ведения логов, например), классы C, D, E используют A для своих нужд. Получается, что при необходимости использовать класс C в другом проекте, придётся обязательно тащить за ним A и B, или же изменять код класса под нужды данного проекта, что не совсем отвечает концепции повторного использования.
Как же тогда быть, чтобы повторное использование наработанного кода проходило с наименьшими затратами, чтобы не нужно было подстраивать код под текущий проект и чтобы, при необходимости использовать один класс, не пришлось тащить за собой кучу других?
P.S.
Единственное что пришло в голову, это делать все классы абсолютно изолированными друг от друга, кроме конечно самых нужных, типа коннекта к БД и т. п., а для связи двух классов вместе использовать третий объединяющйи класс, но это как-то не очень кажется...
В умных книжках люди пишут, что нужно стремиться строить свою систему таким образом, чтобы классы были как можно меньше связаны друг с другом, и как можно больше использовали свои собственные данные. С этим я согласен, но что если нескольким классам требуется для работы другой, который жить не может без третьего.
Простой пример:
---------------
A - класс БД, который использует какой-нить более низкоуровневый класс (B, для ведения логов, например), классы C, D, E используют A для своих нужд. Получается, что при необходимости использовать класс C в другом проекте, придётся обязательно тащить за ним A и B, или же изменять код класса под нужды данного проекта, что не совсем отвечает концепции повторного использования.
Как же тогда быть, чтобы повторное использование наработанного кода проходило с наименьшими затратами, чтобы не нужно было подстраивать код под текущий проект и чтобы, при необходимости использовать один класс, не пришлось тащить за собой кучу других?
P.S.
Единственное что пришло в голову, это делать все классы абсолютно изолированными друг от друга, кроме конечно самых нужных, типа коннекта к БД и т. п., а для связи двух классов вместе использовать третий объединяющйи класс, но это как-то не очень кажется...