@DiscriminatorColumn
-
[Java][JPA] 추상 클래스 개념을 적용해 알림 객체 설계 개선하기Today I Learned 2023. 6. 17. 18:36
로버트 C. 마틴이 언급한 객체지향 설계를 위한 5대 원칙 중 하나로 개방-폐쇄 원칙(Open-closed Principle)이 있다. '소프트웨어의 구성 요소는 확장에는 열려 있고, 변경에는 닫혀 있어야 한다'는 원칙으로, 간단히 이야기하자면 소프트웨어의 특정 모듈의 기능이 추가되어야 할 경우, 기존에 작성한 코드를 가급적 변경하지 않으면서 기능을 추가할 수 있어야 한다는 것이다. 기존 프로젝트의 알림 구조 프로젝트 애플리케이션에는 '알림'과 관련된 기능들과 Entity들이 존재했다. 특정 기능들을 수행했을 때 (이를테면 어떤 경기에 참가신청했다던가, 참가신청이 작성자에 의해 수락되었다던가와 같은 것들) 그와 관련된 정보를 담은 Notice 객체를 생성해 저장하는 부가적인 기능이었다. 본래 알림 기능을..