일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- test
- proxy
- 스프링 시큐리티
- MST
- 파이썬
- 스프링
- spring security
- 백준
- 최소 신장 트리
- java
- 모던자바
- 리플렉션
- BOJ
- 모던 자바 인 액션
- 알고리즘
- Reflection
- 다이나믹 프록시
- Junit5
- 객체지향
- Python
- 프록시
- CS
- 자바
- Spring
- 운영체제
- redis
- 문자열
- 약수
- Deadlock
- Today
- Total
목록Java&Spring (35)
Dev 달팽이 @_''

구조 패턴 1 - Adapter, Bridge Pattern구조 패턴의 대표적인 패턴으로 Adapter, Bridge 패턴에 대해 Deep-Dive하려고 한다. 코틀린은 사용해보진 않았지만, 이번 디자인패턴은 코틀린으로 한번 진행해보려고 한다.Adapter Pattern서로 호환되지 않는 인터페이스를 가진 클래스들을 함께 동작하게 해주는 패턴. 가장 흔히 하는 비유가 한국-일본의 전기 플러그 어댑터이다. 일본에 여행갈 때 필수 준비물로 챙겨야하는 물건 중 하나가 돼지코 어댑터이다. 돼지코의 어댑터의 용도를 생각해보면 한국 규격의 콘센트를 일본 전압에 맞게 변환해준다. Adapter Pattern이 바로 그 역할이다. Adapter Pattern의 역할은 기존 클래스를 수정하지 않고도 클라이언트와 호환되도..
디자인 패턴의 분류본격적으로 디자인 패턴에 Deep-Dive 하기 전에 디자인 패턴의 분류에 대한 이해를 다지고 가려고 한다.(예열 느낌으로...)디자인 패턴의 세 가지 분류디자인 패턴의 분류는 패턴을 기능적 목적에 따라 나눈 것이다. 첫번째는 생성(Creational) 패턴, 두번째는 구조(Structural) 패턴, 마지막으로 행위(Behavioral) 패턴이 있다.생성 패턴 (Creational Patterns)객체의 생성 과정을 추상화하여 유연하고 재사용 가능한 방식으로 객체를 생성하는 목적의 패턴이다. 객체 생성 로직을 캡슐화하여 코드 의존성을 낮추고, 런타임 시점의 유연한 객체 결정이 가능하도록 하는 것이 특징이다. 대표적 패턴으로 Singleton, Factory Method, Abstra..
객체지향원칙 - SOLID실무에서 아키텍트 업무를 맡게 되면서(아직 이르지만..) DDD, 헥사고널 아키텍처에 대해 좀 더 깊이 있는 이해가 필요하게 되었다. 기본부터 다시 잡는 다는 생각으로 OOP, 디자인패턴부터 다시 다져보려 한다...객체 지향 설계객체지향원칙을 지키면서 설계하는 건 단순 "깔끔한 코드" 작성을 위해서는 아니다. 객체 지향 설계를 한다는 것은 확장이 쉽고, 높은 응집도와 낮은 결함도로 인해 변경이 전체 시스템에 미치는 영향을 줄이고, 리팩토링과 유지보수를 쉽게 설계한다는 것이다. SOLID는 이러한 설계를 할 수 있도록 도움을 주는 지침이다.SOLID란?객체지향 프로그래밍(OOP)의 5가지 핵심 설계 원칙, 유지보수성과 확장성이 뛰어난 소프트웨어를 설계하기 위한 개념S - Singl..
[이펙티브 자바] 2장 - 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라. 정적 팩터리와 생성자에는 매개변수가 많을 때, 적절히 대응하기 어렵다. 실제로 실무에서 Legacy 코드를 보다보면, 멤버변수가 많은 클래스 내부에 생성자, Getter, Setter가 덕지덕지 붙어 있는 경우를 심심찮게 볼 수 있다. [참고] 멤버 변수가 8개인 User 클래스 public class User { String id String pwd; String nickname; String name; Integer age; String addr; String email; LocalDateTime lastLoginDtm; public User(String id, String pwd, String nickname) { ..