在MVC模式中哪个依赖注入是合适的?



让我用一个例子来解释这种情况。

目前,有团队和成员作为模型。

class Member {
String name;
Team team;
}
class Team {
String teamName;
}

有一个可以访问Member数据库的MemberRepository。

public interface MemberRepository {
public Member findByName(String name);
}

查询Member是否存在

@Service
Memberservice {
@Autowired
MemberRepository memberRepository;

public Member searchMember(String name) {
return memberRepository.findByName(name);
}
}

在这种情况下,当创建TeamService如果需要查询成员,应该注入Memberservice还是MemberRepository?

遵循单一职责原则,您应该努力使您的类专注于做一些相关的事情。考虑到这一点,MemberService应该是唯一管理成员的,这包括成为唯一接触MemberRepository的对象。尽管如此,你还是应该注入MemberService

作为一般的经验法则,您应该避免多个服务使用相同的存储库。如果你没有做到这一点,你可能会得到意大利面条式的代码。这意味着服务应该"沟通"。他们之间。

最新更新