일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- 데이터베이스
- 자바예제
- 직장인인강
- 직장인자기계발
- 패캠챌린지
- 자바연습문제
- ncs
- 웹
- linux
- 자바기본
- java
- String
- 자바기초
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 디자인
- 국비
- 패스트캠퍼스후기
- 디자인패턴
- 리눅스
- 자바
- DB
- 패스트캠퍼스
- js
- DesignPattern
- Spring
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- java기초
- 재택근무
- javabasic
- Today
- Total
목록자바 (85)
FIF's 코딩팩토리
템플릿 메소드 패턴(Template method pattern) 정의 메소드에서 알고리즘의 골격을 정의한다. 알고리즘의 여러 단계 중, 일부는 서브클래스에서 구현할 수 있다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 서브클래스에서 특정 단계를 재정의 할 수 있다. 알고리즘의 틀을 만들기 위한 패턴이다.(알고리즘 캡슐화) 이 패턴에서 틀(템플릿)이란, 일련의 단계들로 알고리즘을 정의한 메소드다. 여러 메소드 가운데 하나 이상의 추상 메소드로 정의되며, 그 추상메소드는 서브클래스에서 구현된다. 이렇게 하면 서브클래스에서 일부분의 단계를 구현할 수 있도록 하면서도 알고리즘의 구조는 바꾸지 않아도 된다. 템플릿 메소드 패턴 클래스 다이어그램 커피와 차가 만들어지는 과정 비교 1. 커피 만드는..
싱글톤 패턴(Singleton Pattern) 정의 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴 클래스에서 자신의 단 하나뿐인 인스턴스를 관리하도록 만든다. 어떠한 다른 클래스에서도 자신의 인스턴스를 추가로 만들지 못하도록 해야 한다. 싱글톤 클래스 다이어그램 고전적인 싱글톤 패턴 구현의 문제점 uniqueInstance에 하나밖에 없는 인스턴스가 저장돼있다. uniqueInstance가 null이기 때문에 아직 인스턴스가 만들어지지 않았다면 private으로 선언된 생성자를 이용해서 Singleton객체를 만든 다음 uniqueInstance 변수에 객체를 대입한다. 이렇게 하면 인스턴스가 필요한 상황이 오기 전까지 인스턴스는 생성되지 않는다...
데코레이터 패턴(Decorator Pattern) 정의 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스 만드는 걸 통해 기능을 유연하게 확장할 수 있는 방법을 제공한다. 데코레이터 패턴 클래스 다이어그램 1. ConcreteComponent에 새로운 행동을 동적으로 추가할 수 있다. 2. 각 데코레이터 안에는 구성요소(Component)에 대한 레퍼런스가 들어있는 인스턴스 변수가 있다. 3. Decorator는 자신이 장식할 구성요소(Component)와 같은 인터페이스 또는 추상 클래스를 구현한다. 4. ConcreteDecoratorA, ConcreteDecoratorB에는 그 객체가 장식하고 있는 인스턴스 변수가 있다. 따라서 데코레이터는 Component의 상태를 확장할 수 있다..
옵저버 패턴(OBSERVER PATTERN) 정의 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다. 옵저버 패턴을 구현하는 방법에는 여러가지가 있지만, 대부분 상태를 저장하고 있는 주제 인터페이스를 구현한 하나의 주제객체와 주제객체에 의존하고 있는 옵저버 인터페이스를 구현한 여러 개여 옵저버객체가 있는 디자인을 바탕으로 한다. 데이터 전달방식 2가지 1. 주제객체에서 옵저버로 데이터를 보내는 방식(Push 방식) 2. 옵저버에서 주제객체의 데이터를 가져가는 방식(Pull 방식) 옵저버 패턴 클래스 다이어그램 디자인 원칙 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해..
스트래티지 패턴(Strategy Pattern) 1. 스트래티지 패턴이란 A. 행위를 클래스로 캡슐화해 동적으로 행동을 자유롭게 바꿀 수 있게 해주는 패턴 i. 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고, 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴이다. B. 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. C. 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘이다. D. 특히 게임 프로그래밍에서 게임 캐릭터가 자신이 처한 상황에 따라 공격이나 행동하는 방식을 바꾸고 싶을 경우 스트래티지 패턴은 매우 유용하다. E. 역할이 수행하는 작업 i. Strategy : 인..
팩토리 패턴(Factory Pattern) 팩토리 메소드 패턴 : 객체를 생성하기 위해 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하도록 만든다. 즉, 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스 만드는 일을 서브클래스에게 맡길 수 있다. 추상 팩토리 패턴 : 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성하는 디자인 패턴 new를 사용한다는 것은 구상 클래스의 인스턴스를 만든다는 의미이다. 인터페이스에 맞춰 코딩을 하면 시스템에서 일어날 수 있는 여러 변화를 이겨낼 수 있다. 왜냐하면 다형성 때문에 어떤 클래스든 간 특정 인터페이스만 구현하면 되기 때문이다. 반대로 구상 클래스를 많이 사용하면 새로운 구상 클래스가 추가될..
1.커맨드 패턴이란 A. 실행될 기능을 캡슐화 함으로써, 주어진 여러 기능을 수행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴 B. 이벤트가 발생했을 때, 실행될 기능이 다양하면서도 변경이 필요한 경우에 이벤트를 발생시키는 클래스를 변경하지 않고 재사용하고자 할 때 유용하다. C. ‘행위(Behavioral) 패턴’ 의 하나 D. 실행될 기능을 캡슐화 함으로써, 기능의 실행을 요구하는 호출자(Invoker)클래스와 실제 기능을 실행하는 수신자(Receiver)클래스 사이의 의존성을 제거한다. E. 실행될 기능의 변경에도 호출자 클래스를 수정 없이 그대로 사용할 수 있도록 해준다. F. 역할이 수행하는 작업 i. Command 1) 실행될 기능에 대한 인터페이스 2) 실행될 기능을 execute 메소..
네이버아이디로로그인 서비스를 이용하려면 오픈 API를 신청해야 한다. https://developers.naver.com/products/login/api/ 네이버 아이디로 로그인 소개 네이버 아이디로 로그인 별도의 아이디, 비밀번호없이 네이버 아이디로 간편하게 외부 서비스에 로그인 할 수 있도록 하는 서비스입니다. 이용자는 복잡하고 번거로운 회원 가입 절차 없이 편하게 서비스를 이용하고, 사업자는 회원 가입, 로그인에 대한 허들을 낮춰 회원수... developers.naver.com 오픈 API이용 신청을 누른다. 자기가 만들 서비스목적에 맞게 API설정을 한다. Client ID와 Clinet Secret이 나온다. 복사해서 잘보이는 곳에 붙여넣기 해놓자. pom.xml 에 naver depende..