OOP-team2 / OOP-proj1

2022-2 OOP team1 project1
MIT License
2 stars 1 forks source link

여러가지로 클래스를 변경했습니다. #23

Closed minusmo closed 2 years ago

minusmo commented 2 years ago

자잘 한 것들은 수요일 오후에 팀원분들과 의논했던 것입니다.

큰 변경이 하나 있는데요, 오후에 의논했던 대로 Meal이 RecipeDatabase를 알아야하는데, Meal 클래스는 인스턴스가 여러개 생길 수 밖에 없는데 일일이 무거운 객체인 RecipeDatabase에 의존하는 것은 좋지 않습니다. 따라서 이를 Singleton 패턴으로 구현하는 게 좋아보이는데요, 그렇게 하면 static 변수와 함수를 통해 RecipeDatabase 클래스를 마치 전역변수처럼 사용할 수 있습니다. 따라서 Meal 인스턴스에서 RecipeDatabase를 사용하기만 함으로써 의존성을 약화시킬 수 있습니다.

이렇게 생각만 해놓고 아직 구현은 다 안했습니다. 여러분 의견 먼저 받겠습니다.

그리고 생각해보니 PlanManager도 파일 입출력을 해야하다 보니 역시 Singleton 패턴으로 하는게 어떨까 하는 생각이 드네요.

참고할만한 링크를 첨부하겠습니다. https://refactoring.guru/design-patterns/singleton

minusmo commented 2 years ago

PR이 너무 커서 정말 미안합니다. ㅠㅠ