> 카페
http://cafe.naver.com/ojsag
> 네이버 SVN
http://dev.naver.com
* 멤버등록
* 암호설정
> 이클립스
* plug-in
* SVN Repository
https://dev.naver.com/svn/ojsag20
subclipe 설치 > SVN 설정 > checkout
> 소프트웨어 개발 패러다임
구조적 > 정보공학 > 객체지향 > Contents Based Development? > SOA > ROA
"절차" "데이터" "클래스" - Controller - Suvlet
멤버(필드, 메소드) - View - html, xml
- Model - JSON
* library와 Contents의 차이
: library는 그냥 모듈화, Contents는 MVC 모델을 포함하는 모듈화
> 프토토콜
비연결지향 (HTTP)
연결지향(FTP)
> 웹
"비연결지향 프로토콜의 단점을 해결하기 위한 기술"
1. Client Side
쿠키
2. Server Side (서버상태를 저장하기위한 객체 4가지)
PageContext 페이지
HttpServletRequest
HttpSession 웹브라우저
ServletContext 톰캣
3. File
4. DBMS
> 요청 (Client Side - HTML5 + CSS + JavaScript + jQuery + Ajax)
URL
> 응답 (Server Side - Controller + View + Model Service + Model Entity)
HTML, XML, JSON, Text, ...
> 소프트웨어 공학
95년도 4학년 과정으로 선택과목으로 등장
2000년도 이후 필수과목으로 채택
"품질" - ISO 9126(6가지 품질), IEEE 1471(아키텍처 표준), ISO 52000(테스트 표준)
"객체지향"
> 소프트웨어 위기
"스파게이티 소스"
> 클래스 vs 객체지향
1. 저장위치
- 클래스 : 파일이므로 하드디스크
- 객체 : 파일의 클래스 로더가 클래스를 로딩하여 메모리에 올림. 값을 담기위해 만들어진 구조체.
2. 값의유무
> 객체 라이프 사이클
1. 클래스 정의
2. 객체참조변수 선언
3. 객체생성
4. 생성자호출
5. 주소할당
6. 객체사용
7. 객체소멸
" Student st = new Student(); "
1. 클래스 정의 : Student. Student는 이미 정의되어 있어야 함.
2. 객체 선언 : st,
3. 객체 생성 : new, 개발자가 직접 객체를 생성하느냐, Controller에게 객체생성을 위임하느냐(IoC),
* has a, is a 관계
dependency, association, composition, aggregation
4. 생성자 호출 : ().
5. 주소할당 heap메모리를 "st" 객체참조 변수에 assignment : =. call by value, call by reference, call by name(없어짐)
6. 객체사용. polymorphism
7. 객체소멸. java performance tuning
java - " fojo, annoation "
> OOSD 기본 개념 7가지
<Object-Oriented Design concepts>
Cohesion 응집도. 하나의 클래스가 하나의 기능에 얼마큼 충실하는지 나타내는 척도. 높을수록 좋음.
Encapsulation.
Coupling 결합도. 응집도를 높이기위해 클래스를 잘게 나누면, 원래 하나였던 클래스는 서로의 결합도를 높이게 됨. 모듈화의 결정 포인트를 잘 맞춰야 함. 낮을수록 좋음.
*Looser Abstract Coupling
Implementation ingeritance .
Composition
Interface ingeritance
Polymorphism
<java method 5가지>
> *Looser Abstract Coupling
---------------------------
client --> <<interface>>
Service
^
|
|
ServiceImpl
---------------------------
interface Service {
}
class ServiceImpl implements Service {
}
class Client {
Service s;
}
cf. looser couping
http://tadhg88.blogspot.kr/
> 클래스 간의 관계
* Is-a
* has-a
> OOSD 원리 3가지
> 디자인 패턴
> 웹 서비스
-----------------------------------------------------
홍창윤 강사님 / 010-3206-4184 / hiroad@naver.com
OJSAG 오라클자바소프트웨어아키테트그룹
'Development > Web' 카테고리의 다른 글
MVC 1 (0) | 2015.08.30 |
---|---|
서블릿 (0) | 2015.08.30 |
이클립스 스프링 개발환경 (0) | 2015.08.27 |
[JQuery] plug-in top 100 (0) | 2015.05.27 |
[웹서비스] 기초 4 - QnA, Web Client (0) | 2015.05.01 |