Skip to content

Instantly share code, notes, and snippets.

@LukasRychtecky
Created March 6, 2024 13:01
Show Gist options
  • Save LukasRychtecky/5ce92a95e643880540337e2a4a2a1398 to your computer and use it in GitHub Desktop.
Save LukasRychtecky/5ce92a95e643880540337e2a4a2a1398 to your computer and use it in GitHub Desktop.
// domain
class User {}
class UserRequest {}
class ProjectCreator {}
class UserCreator {
UserCreator(Supplier<OffsetDateTime> now, ProjectCreator projectCreator) {}
User create(UserRequest r)
}
// service layer
// 1. varianta
class UserService1 {
User createUser(UserRequest r) {
User user = new UserCreator(OffsetDateTime::now, new ProjectCreator()).create(r);
this.respository.save(user);
return user.id;
}
}
// 2. Varianta
class UserService2 {
@Autowire
private final UserCreator userCreator;
User createUser(UserRequest r) {
User user = this.userCreator.create(r);
this.respository.save(user);
return user.id;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment