> 카페


  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

+ Recent posts