1장 오브젝트와 의존관계
토비의 스프링 3.1 스프링의 이해와 원리
1장 오브젝트와 의존관계
/
- 인터페이스는 어떤 일을 하겠다는 기능만 정의해놓은 것이다.
-> 따라서 인터페이스에는 어떻게 하겠다는 구현 방법은 나타나있지 않다.
(그건 인터페이스를 구현한 클래스들이 알아서 결정할 일)
connectionMaker = new DConnectionMaker();
-> DConnection 클래스의 생성자를 호출해서 오브젝트를 생성하는 코드
어떤 ConnectionMaker 구현 클래스를 사용할지를 결정하는 new DConnectionMaker()라는 코드가 있다.
사용되는 오브젝트를 서비스 / 사용하는 오브젝트를 클라이언트라고 부를 수 있다.
클래스 사이에 관계가 만들어진다는 것은 한 클래스가 인터페이스 없이 다른 클래스를 직접 사용한다는 뜻이다.
-> 따라서 클래스가 아니라 오브젝트와 오브젝트 사이의 관계를 설정해줘야 한다.
오브젝트 사이의 관계는 런타임 시에 한쪽이 다른 오브젝트의 레퍼런스를 갖고 있는 방식으로 만들어진다.
connectionMaker = new DConnectionMaker();
-> DConnectionMaker의 오브젝트의 레퍼런스를 UserDao의 connectionMaker 변수에 넣어서 사용하게 함으로써, 이 두개의 오브젝트가 '사용'이라는 관계를 맺게 해준다.
오브젝트는 얼마든지 메소드 파라미터 등을 이용해 전달할 수 있으니 외부에서 만든 걸 가져올수 도 있다.
외부에서 만든 오브젝트를 전달받으려면, 메소드 파라미터나 생성자 파라미터를 이용하면 된다.
이런경우 파라미터로 전달되는 오브젝트의 클래스는 항상 인터페이스를 구현하기만 했다면 어떤 것이든지 상관없다.
javascript 소수점 없앨 때
숫자
var num = 5/2;
결과
2.5
2
이같이 소수 부분을 버리고 정수부분만 구하고 싶으면 Math.floor() 메서드 사용 ㄱㄱ
<참고문헌 : 인사이드자바스크립트(InsideJavascript)>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Array() 생성자 함수 (0) | 2017.11.16 |
---|---|
Javscript배열 리터럴 (0) | 2017.11.13 |
배열 (0) | 2017.10.26 |
객체비교 (0) | 2017.10.25 |
함수 호이스팅 (1) | 2017.08.31 |
Array() 생성자 함수
Array() 생성자 함수
var foo = new Array(3);
결과값
[undefined, undefined, undefined]
3
1, 2, 3
3
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
javascript 소수점 없앨 때 (0) | 2017.11.23 |
---|---|
Javscript배열 리터럴 (0) | 2017.11.13 |
배열 (0) | 2017.10.26 |
객체비교 (0) | 2017.10.25 |
함수 호이스팅 (1) | 2017.08.31 |
Javscript배열 리터럴
Javascript 배열
Javascript 배열 리터럴
//배열 리터럴을 통한 5개 원소를 가진 배열생성
배열 내의 첫 번째 원소는 인덱스0부터 시작한다.
<참고문헌 : 인사이드자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
javascript 소수점 없앨 때 (0) | 2017.11.23 |
---|---|
Array() 생성자 함수 (0) | 2017.11.16 |
배열 (0) | 2017.10.26 |
객체비교 (0) | 2017.10.25 |
함수 호이스팅 (1) | 2017.08.31 |
배열
배열
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Array() 생성자 함수 (0) | 2017.11.16 |
---|---|
Javscript배열 리터럴 (0) | 2017.11.13 |
객체비교 (0) | 2017.10.25 |
함수 호이스팅 (1) | 2017.08.31 |
자바스크립트 참조타입(객체타입) (0) | 2017.08.30 |
객체비교
객체비교
출력값
1번
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Javscript배열 리터럴 (0) | 2017.11.13 |
---|---|
배열 (0) | 2017.10.26 |
함수 호이스팅 (1) | 2017.08.31 |
자바스크립트 참조타입(객체타입) (0) | 2017.08.30 |
null 과 undefined (0) | 2017.08.30 |
모델2에서 Front Controller패턴으로
모델2에서 Front Controller패턴으로
Front Controller 적용원인
1. 각 컨트롤러 사이의 중복적인 코드의 문제
2. 개발자의 개발패턴의 차이
=> 이로인해 모델2방식은 좀 더 강제적인 형태인 Front Controller방식을 적용
<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>
'전공서적 > 코드로 배우는 Spring 웹 프로젝트' 카테고리의 다른 글
모델2패턴의 이해 (0) | 2017.10.24 |
---|
모델2패턴의 이해
모델2패턴의 이해
스프링 MVC는 모델2방식 구조르 이요하기 때문에 이론적으로 모델2방식에 대한 이해가 필요하다
최근의 모든 웹 개발은 거의 모델2방식을 사용한다.
모델2방식은 흔히 MVC구조를 응용하는 것이라고 생각하는데 가장중요한것
모델2구조에서는 다음과 같은 용어들이 사용된다
모델(Model) |
데이터 혹은 데이터를 처리하는 영역을 의미한다 |
뷰(View) |
결과 하면을 만들어 내는 데 사용하는 자원이다 |
컨트롤러(Controller) |
웹의 요청(request)을 처리하는 존재로 뷰와 모델사이의 중간 통신 역할을 한다 |
컨트롤러는 모델계층과 연동해서 필요한 데이터를 처리하고, 결과를 뷰로 전송하게 된다.
모델2방식의 장점 |
개발자와 웹 퍼블리셔의 영역을 분리할 수 있다 |
컨트롤러의 URL을 통해서 뷰를 제어하기 때문에, 뷰의 교체나 변경과 같은 유지보스에 유용 |
<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>
'전공서적 > 코드로 배우는 Spring 웹 프로젝트' 카테고리의 다른 글
모델2에서 Front Controller패턴으로 (0) | 2017.10.24 |
---|
함수 호이스팅
함수 호이스팅
<참고문헌 : 인사이드자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
배열 (0) | 2017.10.26 |
---|---|
객체비교 (0) | 2017.10.25 |
자바스크립트 참조타입(객체타입) (0) | 2017.08.30 |
null 과 undefined (0) | 2017.08.30 |
문자열 (0) | 2017.08.30 |
자바스크립트 참조타입(객체타입)
자바스크립트 참조타입(객체타입)
<참고문헌 : 인사이드자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
객체비교 (0) | 2017.10.25 |
---|---|
함수 호이스팅 (1) | 2017.08.31 |
null 과 undefined (0) | 2017.08.30 |
문자열 (0) | 2017.08.30 |
참조타입의 특성 (0) | 2017.08.25 |