You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
핵심 개념: 도메인 모델 패턴을 배우기에 앞서 비즈니스 로직 패턴의 기반인 트랜잭션 스크립트 방식과 액티브 레코드 방식을 배운다.
트랜잭션 스크립트: 절차지향 스크립트 방식으로 구현한다.
@Service
classUserService(
privatevaluserDao:UserDao,
privatevalteamDao:TeamDao
) {
@Transactional
funcreateUserWithTeam(name:String) {
val team =Team()
teamDao.save(team)
val user =User(name, team.id)
userDao.save(user);
}
}
액티브 레코드: 데이터베이스 접근을 캡슐화하고 해당 데이터에 메인 로직을 추가한다.
빈약한 도메인 모델 안티패턴이라고도 불린다.
classUser(
valname:String,
valemail:String
) {
funcreate() {
save(this)
}
privatefunsave(user:User) {
// DB 저장 로직
}
}
위 패턴들은 단순한 상황에서 사용이 가능하다. 로직이 복잡하다면 도메인 모델 패턴을 사용해야함
❓ 궁금한 점 및 논의할 주제
질문 1: 데이터를 단순히 조회하는 상황에서는 항상 트랜잭션 스크립트 방식을 사용하는 것이 올바를까?
🔍 추가 참고 자료
🗒 기타 메모
The text was updated successfully, but these errors were encountered:
📅 2024.08.12 - 간단한 비즈니스 로직 구현
📝 학습 내용 요약
🧠 이해한 내용
❓ 궁금한 점 및 논의할 주제
🔍 추가 참고 자료
🗒 기타 메모
The text was updated successfully, but these errors were encountered: