목차 의존성관계주입 Spring ICO (Inversion Of Control) IOC 예제 @Component 를 입력했더니 에러가 발생했다. 번외 실무에서는 잘 사용하지 않는다는 말 의존성관계주입 Spring ICO 스프링에서 일반적인 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에 모두 맡긴다. 따라서 개발자의 직접 관리 없없도 Spring Container는 객체의 생명주기를 관리할 수 있게되며 개발자가 원하는 요청에 따라 DI의 요청을 수행할 수도 있다. 개발자 중심의 관리 ➡ 프레임워크 중심의 객체관리 권한 제공 그렇다면 Spring Container가 객체를 관리하면 개발자는 어떻게 Container로 부터 객체를 가져와야할까? IOC 예제 이전..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 팩터리 메서드 패턴 - 의존 역전 원칙(DIP) 객체 지향에서 팩터리는 객체를 생성한다 결국 팩터리 메서드는 객체를 생성 반환하는 메서드 이다. 더 나아가 패턴 이라는 접미사가 따라온다면 상위클라스에서 생성한 메서드를 하위클라스에서 오버라이딩 하여 객체를 반환하게 하는 것을 의미한다. 싱글톤 패턴 - 적용 후 public abstract class Animal { // 추상 팩터리 메서드 abstract AnimalToy getToy(); } public abstract class Anim..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 탭플릿 콜백 메서드 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP) 전략 패턴의 변형으로, 스프링 3대 프로그래밍 모델 중 하나인 DI(의존성 주입)에서 사용하는 특별한 형태의 전략 패턴이다. 탬플릿 콜백 패턴의 특징은 전략 패턴의 메서드를 익명 내부 클래스로 정의하여 사용한다는 특징이 있다. 템플릿 콜백 패턴 - 적용 전 (전략 패턴 상태) public interface Strategy { public abstract void runStrategy(); } public cla..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 템플릿 메서드 패턴 - 의존 역전 원칙(DIP) 상위 클래스에 공통 로직을 수행하는 탬플릿 메서드와 하위 클래스에 오버라이딩을 강제하는 추상 메서드 또는 선택적으로 오버라이딩할 수 있는 훅(Hook) 메서드를 두는 패턴이다. 템플릿 메서드 패턴 - 적용 후 public abstract class Animal { // 템플릿 메서드 public void playWithOwner() { System.out.println("귀염둥이 이리온..."); play(); runSomething(); S..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 전략 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP) 전략 패턴은 디자인 패턴에서 가장 활용성이 높은 패턴으로 설면된다. 전략 메서드를 가진 전략 객체 전략 객체를 사용하는 컨텍스트(전략 객체의 사용자 / 소비자) 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(전략 객체의 공급자) 클라이언트가 주입하는 전략에 따라 컨텍스트의 형태가 바뀐다고 생각하면 된다. 전략 패턴 - 적용 후 public interface Strategy { public abstract void runS..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 싱글톤 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP) 커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러개 만들게 되면 불필요한 자원을 사용하게 된다. 여기서 싱글톤 패턴을 적용하여 하나의 인스턴스를 만들어 사용하기 위한 패턴이다. 단일 객체를 사용하는 패턴인 만큼 의미상 두개의 객체가 존재할 수 없으며, 이를 구현하기 위한 new에 재역울 걸어야 하고, 만들어진 단일 객체를 반환할 수 있는 메서드가 필요하다. new를 실핼할 수 없도록 생성자에 pr..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 데코레이터 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP) 장식하다라는 의미의 데코레이터 패턴은 프록시 패턴과 유사한 형태를 가지고 있지만 반환값을 가진다는 부분에서 차이점을 보인다. 프록시 패턴 제어의 흐름을 변경하거나 별도의 로직 처리를 목적으로 한다. 클라리런트가 받는 반환값을 특별한 경우가 아니면 변경하지 않는다. 데코레이터 패턴 클라이언트가 받는 반환값에 장식을 더한다. 데코레이터 패턴 - 적용 전 public interface IService { public abst..
빌드 관리 도구? 빌드도구는 소스코드에서 어플리케이션 생성을 자동화 하기 위한 프로그램이다. 빌드는 코드를 사용 하거나 실행 가능한 형태로 컴파일링, 링킹, 패키징 하는것을 포함한다. 기본적으로 빌드 자동화는 아래와 같은 정형화된 다양한 작업을 스크립팅하거나 자동화 하는 행위이다 종속성 다운로드 소스코드를 바이너리코드로 컴파일 바이너리 코드를 패키징 테스트 실행 프로덕션 시스템에 배포 Maven Maven은 Java용 프로젝트 관리도구로 Apache의 Ant 대안으로 만들어졌다. 빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리 종속성 관계를 pom.xml파일에 명시한다. Maven은 외부저장소에서 필요한 라이브러리와 플러그인들을 다운로드 한다음, 로컬시스템의 캐시에 모두 저장한다. 예를 들어, ..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 프록시 패턴 - 개방 폐쇄 원칙(OCP), 의존 역전 원칙(DIP) 프록시는 대리자/ 대변인의 역할을 수행하는 존재를 말한다. 디자인 패턴에서의 프록시는 서비스 메서드의 반환값에 가감하지 않는 것이 특징이다. 다만, 제어의 흐름을 제어하거나 다른 로직을 수행하기 위해 사용하는 패턴이다. ☄ 프록시 패턴 - 전 public class Service implements IService { public String runSomething() { return "서비스 짱!!!"; } } publi..
🚀 스프링에서 디자인 패턴의 중요성 디자인 패턴은 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 가장 효율적인 예시를 정리한 패턴의 집합이다. 🌠 어댑터 패턴 - 개방 폐쇄 원칙(OCP) 서로다른 두 인터페이스 가이에 통신이 가능하게 하는 것이 가능하다면 어떨까? 이미 나 또한 여러 프로젝트를 하면서 경험한 내용 패턴인데 주로 DBMS를 연결하는 JDBC가 어댑터 패턴을 이용해 다양한 DB 시스템을 단일한 인터페이스로 조작할 수 있게 해주기 때문이다. 이미 앞선 SOLID 포스팅에서 JDBC와 JRE에 대한 이야기를 했으며 이 개념은 어댑터 패턴까지도 사용된다. 즉, 어댑터 패턴은 OCP를 활용한 설계패턴 이라고 할 수 있다. 객체지..
- Total
- Today
- Yesterday
- ajax
- OOP
- security
- 매트랩
- interview
- 자격증
- CS
- springboot
- Algorithm
- docker
- nginx
- 자바
- 디자인패턴
- JPA
- 그래프
- 릿코드
- kakao
- Matlab
- 면접
- 백준
- 스프링
- 알고리즘
- Solid
- 스프링부트
- java
- Spring
- C언어
- 프로그래머스
- spring-cloud
- 수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |