哪种依赖注入适合 MVC 模式?
Which dependency injection is appropriate in the MVC pattern?
让我举个例子说明一下。
目前有团队和成员作为模特。
class Member {
String name;
Team team;
}
class Team {
String teamName;
}
有一个可以访问会员数据库的 MemberRepository。
public interface MemberRepository {
public Member findByName(String name);
}
可以查询Member的MemberService是否存在
@Service
Memberservice {
@Autowired
MemberRepository memberRepository;
public Member searchMember(String name) {
return memberRepository.findByName(name);
}
}
在这种情况下,创建TeamService时
如果需要查询member,注入Memberservice和MemberRepository哪个好?
遵循单一责任原则,您应该努力让您的 类 专注于做一些相关的事情。考虑到这一点,MemberService 应该是唯一一个管理成员的人,这包括成为唯一一个接触 MemberRepository 的人。话虽如此,你绝对应该注入 MemberService.
根据一般经验,您应该避免使用同一个存储库的多个服务。如果你不这样做,你可能会得到意大利面条代码。这意味着服务应该在它们之间“通信”。
让我举个例子说明一下。
目前有团队和成员作为模特。
class Member {
String name;
Team team;
}
class Team {
String teamName;
}
有一个可以访问会员数据库的 MemberRepository。
public interface MemberRepository {
public Member findByName(String name);
}
可以查询Member的MemberService是否存在
@Service
Memberservice {
@Autowired
MemberRepository memberRepository;
public Member searchMember(String name) {
return memberRepository.findByName(name);
}
}
在这种情况下,创建TeamService时 如果需要查询member,注入Memberservice和MemberRepository哪个好?
遵循单一责任原则,您应该努力让您的 类 专注于做一些相关的事情。考虑到这一点,MemberService 应该是唯一一个管理成员的人,这包括成为唯一一个接触 MemberRepository 的人。话虽如此,你绝对应该注入 MemberService.
根据一般经验,您应该避免使用同一个存储库的多个服务。如果你不这样做,你可能会得到意大利面条代码。这意味着服务应该在它们之间“通信”。