🤔디자인 패턴은 소프트웨어 디자인에서 공통된 문제들을 해결하는 데 도움이 되는 설계 방법론
⚡디자인 패턴에 대해서 알아야 되는 이유
패턴에 대해 아무것도 알지 못해도 프로그래머로 일할 수 있다는 것이다. 실제로 많은 프로그래머가 패턴에 대한 아무런 지식 없이 업무를 수행하고 있다. 또 자신도 모르는 사이에 일부 패턴들을 구현하고 있는 경우도 있다. 그럼에도 왜 패턴을 배워야 하는지, 그 이유들을 정리해 보겠다.
디자인 패턴은 소프트웨어 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책들을 모은 것이다. 이러한 문제들을 다루지 않더라도 패턴을 알고 있으면 여전히 쓸모가 있는데, 그 이유는 패턴을 배우게 되면 객체 지향 디자인의 원칙들을 사용해 많은 종류의 문제를 해결하는 방법들을 배울 수 있기 때문입니다.
디자인 패턴은 당신과 당신의 팀원들이 더 효율적으로 의사소통하는 데 사용할 수 있는 공통 언어를 정의한다. 예를 들어서 당신의 팀이 디자인 패턴을 이해하면 업무 처리 중 당신이 '그 문제를 위해서는 그냥 싱글턴을 사용하세요'라고 말하면 모두가 당신이 무엇을 뜻했는지 이해할 수 있을 것이며 싱글턴 패턴에 포함된 개념들은 설명할 필요도 없을 것이다.
⚡디자인 패턴 유형
👉생성 패턴
객체를 생성하는 방법에 대한 패턴이다. 이 패턴은 객체 생성의 유연성과 재사용성을 높이며, 코드의 결합도를 낮춘다. 예를 들어, Singleton 패턴은 어떤 클래스의 인스턴스가 오직 하나만 생성되어야 하는 경우 사용된다.
👉구조 패턴
클래스나 객체들을 조합해 더 큰 구조를 만드는 방법에 대한 패턴이다. 이 패턴은 객체 간의 관계를 정의하고, 객체들 간의 상호작용을 더욱 효율적으로 만들어준다. 예를 들어, Decorator 패턴은 객체의 동작을 변경하지 않고도 객체에 새로운 기능을 추가할 수 있도록 한다.
👉행동 패턴
객체들이 상호작용하면서 처리해야 할 작업에 대한 패턴이다. 이 패턴은 객체들 간의 상호작용을 좀 더 유연하게 만들어주고, 코드의 재사용성을 높여준다. 예를 들어, Observer 패턴은 객체들 간의 의존성을 줄이고, 이벤트에 대한 반응성을 높여준다.
위의 내용을 보면서 개발되어있는 소스 또는 개발을 하면서 소스를 봤을 때 느끼는 점이 있을 거라고 생각한다. 이제 내가 위의 내용을 적용시킨 내용을 소개해보려고 한다.
⚡적용 사례
생성 패턴 사례 (찾아봐야함)구조 패턴 사례 (찾아봐야 함) NH 8.0 신청 쪽 개발을 하면서 적용했던 행동 패턴 사례.
⚡참조
디자인 패턴이란?
디자인 패턴이란? 디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책입니다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는
refactoring.guru
⚡생각
맨 처음에 내용을 적었던 것처럼 디자인 패턴을 몰라도 소프트웨어 개발일을 하고 있는 사람은 참 많이 있다. 내 주변의 개발자들에게 물어봐도 디자인 패턴을 들어는 봤어도 자신이 사용을 하고 있는지, 아니면 어떻게 사용을 해야 하는지 모르는 경우가 참 많이 있다.
디자인 패턴은 일반적인 문제에 대해서 시도되고 검증된 내용이다. 즉 개발을 하면서 불합리한 경우에 대해서 개발하기 더 좋은 환경을 구성해놨다고 생각을 한다. 나 또한 리팩터링을 하면서 디자인 패턴 및 다른 사람의 소스를 많이 찾아보고 방법을 찾곤 한다.
개발을 하면서 잘 작성했다고 생각하는 소스도 한달뒤에 뒤돌아 보면 수정할 곳이 있다고 생각을 한다. 리팩터링은 개발을 진행하면서 계속해서 해야 하는 숙제라고 생각을 하고 있고, 게을리하지 말자. 💪💪
'Java' 카테고리의 다른 글
| [JPA] QueryDsl에서 Date Type 사용 방법 정리 (1) | 2023.02.05 |
|---|---|
| [JAVA] Tomcat error page 호출 관련 내용 정리 (0) | 2022.12.19 |
| Java 19 주요 내용 정리 (0) | 2022.09.20 |
| [JAVA] 반복문 기능 및 성능 비교 정리 (1) | 2022.07.29 |
| [정리] 데이터 베이스(DataBase) 에 대한 내용 정리 (0) | 2022.07.12 |