목록분류 전체보기 (20)
블로그명..?

설계와 아키텍처의 차이점 설계 - 저수준의 구조와 결정사항을 의미하는 용어로 사용되어 진다. 아키텍처 - 고수준의 구조와 결정사항을 의미하는 용어로 사용되어 진다. 하지만 저수준과 고수준의 구조를 마땅히 구분할 만한 경계가 없다. 즉, 설계와 아키텍처 사이에는 아무런 차이가 없다. 소프트웨어 아키텍처의 목표 - 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다. 시스템을 급하게 만들거나, 결과물의 총량을 순전히 프로그래머 수만으로 결정하거나, 코드와 설계의 구조를 깔끔하게 만들려는 생각을 전혀 하지 않으면, 파국으로 치닫는 이 비용 곡선에 올라타게 된다. '토끼와 거북이' "급할수록 돌아가라." 토끼와 거북이 우화는 지나친 과신이 가진 어리석음을 말해준다. 현대의 개발자는 "코드..

GET 서버에게 URI가 가진 Resource를 보내도록 요청하는데 사용 (서버의 Resource를 읽는다) HEAD GET방식과 동일하지만, 응답에 BODY가 없고 응답코드와 HEAD만 리턴한다. 웹서버 정보확인, 헬스체크, 버전확인 등의 확인 용도로 사용된다. POST 서버에 자원을 새로 생성하도록 요청한다. 새로 작성된 리소스인 경우 HTTP 헤더 항목 Location : URI 주소를 포함하여 응답 PUT 요청된 자원을 수정(UPDATE) 한다. PATCH 요청된 자원을 수정할 때 사용하지만, PUT의 경우 자원 전체를 갱신하는 의미이고 PATCHG는 해당 자원의 일부를 교체한다. DELETE 요청된 자원을 삭제한다. CONNECT 동적으로 터널 모드를 교환, 프락시 기능을 요청 시 사용 TRAC..
REST란 "Representational State Tanster"의 약자 자원을 이름(URI)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 방법론을 의미 REST의 구성 자원 (Resorce) - URI 모든 자원은 고유한 ID를 가지고 ID는 서버에 존재하고 클라이언트는 각 자원의 상태를 조작하기 위해 요청을 보낸다. HTTP에서 이러한 자원을 구별하는 ID는 'users/{id}' 같은 HTTP URI이다. 행위 (Verb) - HTTP Method 클라이언트는 URI를 이용해 자원을 지정하고 자원을 조작하기 위해 Method를 사용한다. HTTP 프로토콜에서는 GET, POST, PUT, DELETE 같은 Method를 제공한다. 표현 (Representations) - Payload 클라..

1 2 3 4 5 6 7 8 9 10 11 12 13 14 private ISomeObj obj; public void createObj(int type){ switch (type){ case 1: obj = new Obj1(); case 2: obj = new Obj2(); default: throw new IllegalStateException("Unexpected value: " + type); } } Colored by Color Scripter cs 구상클래스에서 객체의 인스턴스를 생성할 때 위와 같은 코드를 사용할 경우. 새로운 구상클래스가 추가될 때 마다 코드를 수정해야한다. OCP 원칙에 위배. 간단한 팩토리(SImple Factory) 클라이언트가 아닌 SimpleFactory 클래스를 ..