[Project] 자바 프로젝트 리팩토링 : Library Service(1) [인터페이스 구분, 데이터 영속화, Lombok 적용]
- 자바 프로젝트 리팩토링 : Library Service(1) 학원 다닐 때 만들었던 프로젝트들을 하나하나 리팩토링 해봐야겠다는 마음을 먹었다. 프로젝트도 Java, JSP, Spring 이렇게 3가지여서 다양하게 리팩토링
yermi.tistory.com
- 자바 프로젝트 리팩토링 : Library Service(2)
지난 번에는 합쳐져 있던 service를 구분지었다면, 이번에는 service와 dao를 구분지을 예정이다.
기존 코드는 데이터 영속화가 적용되어 있지 않았기에 service 단에서 데이터 CRUD를 관리하였으나, 데이터를 영속화 시키게 되면서 구분지어져야 할 거 같다는 생각. (합쳐져 있으니 객체지향적이지 않다는 생각이 들었다.)
- Singleton 디자인 패턴 적용
기존 코드는 Singleton 디자인 패턴을 활용하고 있었다. 이번에도 Singleton은 사용할 것이지만..
각 Dao 별로 Singleton을 적용하여 관리하려고 한다.
public class RentDao {
// Singleton 패턴 적용
private static RentDao rentDao = new RentDao();
private RentDao() {}
public static RentDao getInstance() {
return rentDao;
}
private List<Rent> rents = new ArrayList<Rent>();
// Rent 데이터 초기화
{ DataUtil.initRents(rents); }
}
데이터 초기화는 DataUtil이라는 클래스를 만들어서 그 안에서 관리한다.
- 기존의 코드
GitHub - kycasdzxc/human_project: 휴먼교육센터에서 진행한 프로젝트 🏫
휴먼교육센터에서 진행한 프로젝트 🏫. Contribute to kycasdzxc/human_project development by creating an account on GitHub.
github.com
- 리팩토링 코드
GitHub - kycasdzxc/LibraryService: Java Project 리팩토링 : Library Service 📚
Java Project 리팩토링 : Library Service 📚. Contribute to kycasdzxc/LibraryService development by creating an account on GitHub.
github.com
- Next) 자바 프로젝트 리팩토링 : Library Service(3)
[Project] 자바 프로젝트 리팩토링 : Library Service(3) [Singleton 오류 해결 및 User 기능 리팩토링]
[Project] 자바 프로젝트 리팩토링 : Library Service(2) [Singleton 패턴 적용 및 Dao 분리] [Project] 자바 프로젝트 리팩토링 : Library Service(1) [인터페이스 구분, 데이터 영속화, Lombok 적용] - 자바 프로젝트 리
yermi.tistory.com