일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이직
- 구름LEVEL
- HashMap
- spring
- 스타트업
- 배열
- 명령어
- 도커
- 구현
- 개발자
- docker
- 해결
- dfs
- 백엔드
- bfs
- IntelliJ
- 스프링부트
- 코딩테스트
- 해시맵
- 인텔리제이
- Java
- 자료구조
- 스프링
- 프로그래머스
- spring boot
- Linux
- 스프링 부트
- HTTP
- 주니어
- 문자열
- Today
- Total
목록개발지식/디자인패턴 (2)
마이의 개발 블로그
싱글톤 패턴이란? OOP의 디자인 패턴 중 하나로, 오직 하나의 인스턴스만을 생성하여 사용하게끔 만드는 패턴 장점 - 메모리 낭비를 방지 (한 번만 선언하여 재사용) - 객체 로딩 시간이 줄어 성능이 향상됨 - 전역 인스턴스의 사용으로 다른 클래스에서 사용 시 데이터 공유가 용이함 단점 - SOLID 중 OCP(개방-폐쇄 원칙), DIP(의존관계 역전 원칙)에 위배됨 - 멀티쓰레드 환경에서 인스턴스가 여러 개 생성될 수 있음 (동기화 처리 필수) 사용 예시 //싱글톤 패턴의 적용 public class WeatherAPI { private static WeatherAPI instance; public static WeatherAPI getInstance() { if (instance == null) { ..
MVC패턴이란? - UI 개발에 널리 사용되는 소프트웨어 디자인 패턴으로 모델, 뷰, 컨트롤러의 세 가지 요소를 가지고 있음 - 데스크탑 GUI에 전통적으로 사용되어왔기 때문에 사용자가 의식하지 못할 뿐 다양한 앱에서 사용되어옴 - 여러 프로그래밍 언어에서 MVC 패턴을 구현하는 프레임워크를 찾을 수 있음 사용 목적 - 비즈니스 로직과 화면을 분리하기 위함 - 관심사 분리 (separation of concern, SoC) : 코드의 단순화, 더 나은 유지보수성을 가능하게 함 구성 요소 1. 모델 - 직접적으로 앱의 데이터, 로직, 규약을 다루는 앱의 가장 중심이 되는 구성요소임 - UI로부터 독립적인 앱의 동적 데이터 구조임 - 컨트롤러로부터 사용자 입력(user input)을 받음 2. 뷰 - 정보를..