프로그래밍/Spring & Springboot
-
[객체지향] 좋은 객체 지향 설계의 원칙 - SRP, DIP, OCP프로그래밍/Spring & Springboot 2022. 1. 6. 10:50
좋은 객체 지향 설계의 원칙 SRP 한 클래스는 하나의 책임만 가져야 한다. 클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음 SRP 단일 책임 원칙을 따르면서 관심사를 분리함 구현 객체를 생성하고 연결하는 책임은 AppConfig가 담당 클라이언트 객체는 실행하는 책임만 담당 DIP 의존관계 역전 원칙 프로그래머는 추상화에 의존해야지 구체화에 의존하면 안된다. 의존성 주입은 이 원칙을 따르는 방법 중 하나다. 새로운 할인 정책을 개발하고 적용하려고 하니 클라이언트 코드도 함께 변경해야 했다. ORDER SERVICE IMPLE은 DIP를 지키며 DISCOUNT POLICY 추상화 인터페이스에 의존한느 것같았지만, FIX DISOCUNT POLICY 구체화 구현..
-
[🦭SprintBoot] AOP 공부 기록!프로그래밍/Spring & Springboot 2021. 11. 22. 23:14
AOP란 무엇인가 - 여러 클래스 내에서 반복되는 코드를 모아둔 것!! - 예를 들어, 방청객 A씨는 MBC에서도 일하고, KBS에서도 일하고, TVN에서도 일한다. A씨가 하는 박수치는 알바를 박수 Method라고 할 때, 이 박수 Method는 MBC Class에도 있고, KBS Class에도 있고, TVN Class에도 존재할 것이다. 박수치는 똑같은 Method를 각 클래스 내에 하나씩 심어줘야 할까...? 박수 Method를 따로 분리한 뒤 각 클래스에서 사용할 순 없을까? => AOP AOP의 주요개념 - Aspect : 일종의 박수 Method - Target: 박수칠 클래스 혹은 메소드 - JointPoint: KBS, MBC.. 혹은 각 프로그램(메소드)이 끝나는 시점 - PointCut..
-
[Springboot] 눙물나는 oracle 설치여행기 (+m1, oracle cloud)프로그래밍/Spring & Springboot 2021. 9. 4. 00:12
회사에서 금요일 퇴근날 급하게 개발방향이 수정됨... 당장 월요일까지는 완료해야 되는 상황인데 주말출근.. 죽어도 하기 싫었다. 그래서 여유롭게^^ 집가서 개발환경 세팅하고 해야지! 하고 칼퇴했다.. springboot + ORACLE로 반드시 개발해야되는 상황이었다. 찾아보니 맥북은 docker로 oracle이 가볍게 열린다길래 마음놓고 집에 왔는데... m1칩은 docker로도 oracle로 접속할 수가 없었다 그래서 부랴부랴 mysql로 야매로 만들고 회사가서 수정하면 되겠지! 라고 생각했으나 은근히 바꿔줘야되는 것들도 많고.. (일단 너무너무 하기 귀찮았다!) 그러다 페러렐즈가 (https://www.parallels.com/kr/pd/general/?gclid=CjwKCAjwj8eJBhA5Eiw..