클래스를 설계할 때, 저장할 데이터와 행위를 추상화합니다. 그리고, 클래스가 담당할 역할 및 책임을 정의합니다. 설계가 완료되면, 클래스와 객체가 어떻게 동작할지 소스코드로 작성합니다. 이때, 소스코드로 객체의 행동을 묘사하기 위해 상속, 다형성 등 객체지향의 특성을 활용하여, 소스코드를 추상화합니다. 이처럼 클래스 또는 객체의 행위를 소스코드를 추상화하는 패턴을 디자인 패턴의 행동 패턴이라고 합니다. 이번 포스팅에서는 디자인 패턴 중 행동 패턴의 책임 연쇄, 커맨드, 인터프리터, 반복자, 옵저버, 전략 패턴에 대해 알아보겠습니다. 행동 패턴 (Behavioral Pattern) 클래스 또는 객체의 책임 분배에 관련된 패턴 책임 연쇄 (Chain of Responsibility) 요청 객체와 처리 객체를..
소스코드 로직 상에서 객체를 생성할 일이 많습니다. 객체가 필요할 때마다, new 키워드로 객체를 생성하고 가비지 컬렉터가 알아서 처리하도록 두는 게 좋을까요? 사실 그다지 좋은 방법이 아닐 것입니다. 프로그램 실행 중 객체는 단 하나만 있어도 되는 경우가 있을 것이고, 특정 객체로부터 복제하여 사용하는 것이 좋을 수 도 있습니다. 뿐만 아니라, 공장처럼 객체를 생성하는 전용 클래스를 만들어서 객체 생성 코드를 관리하는 방법도 있습니다. 이번 포스팅에서는 디자인 패턴 중 생성 패턴 중 싱글턴, 프로토타입, 팩토리 메서드, 빌더, 추상 팩토리 패턴에 대해 알아보겠습니다. 디자인 패턴 정의 프로그래머가 애플리케이션이나 시스템을 디자인할 때, 공통된 문제들을 해결하는데 쓰이는 형식화된 가장 좋은 관행 Prog..
디자인 패턴으로 객체지향 시스템을 설계하는 이유는 유지 보수할 때 오류 발생을 없애기 위함입니다. 디자인 패턴 중 구조 패턴은 객체와 클래스를 서로 연관관계 (상속)를 맺어 클래스 관계를 확장하는 것입니다. 이번 포스팅에서는 구조 패턴 중 어댑터, 브리지, 컴포지트, 데코레이터, 퍼사드 패턴에 대해 알아보겠습니다. 구조 패턴 (Structural Pattern) 클래스 또는 객체를 조합하여 더 큰 구조의 S/W를 만드는 패턴 어댑터 (Adapter) 새로운 클래스를 기존 클래스 구조 변경 없이 호환되도록 만드는 패턴 Wrapper라고도 부름 인터페이스를 이용하여 두 개 이상의 클래스 간의 연관 관계를 맺어줄 수 있음 구현 방식으로는 Class Adapter와 Object Adapter 두 가지로 가능함 ..
클린 코드란 무엇일까요? 바로, 소스코드의 의도가 명확하며, 코드를 수정할 때 다른 소스코드에 영향을 주지 않는 코드를 클린 코드라고 부릅니다. 그렇다면, 클린 코드를 작성하기 위한 가이드라인이 있을까요? 네, 있습니다. 소스 코드를 작성할 때, Naming, Style, 주석, DeadCode, Method, Class Design (SOLID 원칙)에 대해 한번 더 고민해보신다면, 클린 코드 작성에 한 걸음 다가가신 겁니다. 이번 포스팅에서는 클린 코드 정의 및 작성 가이드라인에 대해 소개하고, Java 소스코드 기반으로 예시를 설명하겠습니다. Clean Code란? 모든 팀원이 이해하기 쉽도록 작성된 코드 의존적(Dependency)이지 않고 단순하고, 테스트 코드로 검증된 코드 Clean Code..
- Total
- Today
- Yesterday
- SPA
- TCP/UDP
- token
- springboot build
- 클린코드작성법
- codesmell 유형
- MPA
- 스프링부트실행
- oracle 메모리
- notion
- 스프링부트빌드
- AWS
- springboot 실행
- 테스팅 자동화
- selenium
- 스프링부트 restapi
- 디자인패턴
- API Gateway 캐싱
- 코드스멜 유형
- 디자인패턴 구조패턴
- 클린코드작성원칙
- iframe 태그 찾기
- python
- OSI 7계층
- springboot rest api 서버
- oracle pga sga
- springboot restapi
- notion 업무일정관리
- C++
- 멀티코어 멀티프로세서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |