У меня есть объект лидера команды, и у меня есть много членов команды, принадлежащих лидеру команды.
И руководитель группы, и члены команды имеют функцию «writeDB».
Итак, дизайн 1:
Have a common writeDB function in DBUtility:
teamLeader.writeDB(); //calling DBUtility like this DBUtility.insert(self);
teamMember.writeDB(); //calling DBUtility like this DBUtility.insert(self);
дизайн 2:
Both implementing a writeDB Interface:
teamLeader.writeDB(); //implement the write DB itself;
teamMember.writeDB(); //implement the write DB itself;
дизайн 1 может централизовать логику writeDB в один отдельный класс, если при написании БД возникают какие-либо проблемы, мне нужно только изменить класс DBUtility, а также, если я хочу изменить БД, мне нужно изменить только одно место .
дизайн 2 может разделить код на две части. Если один разработчик пишет о логике teamLeader, ему не нужно обновлять DBUtility, а также, если код перемещается куда-то еще, ему не нужно копировать бесполезную функцию, например, функция teamMember writeDB DBUtility не нужна ,
Что вы думаете для лучшего поддержания? или дизайн 3 от вас. Спасибо.