본문 바로가기
반응형

클래스2

TypeScript 환경에서 class-transformer 적극적으로 사용하기 요즘 같이 분산 환경이 적극적으로 도입 되고 있는 시기에는 꼭 프론트엔드가 아니더라도 백엔드 환경에서도 외부의 HTTP API를 호출하는 일은 당연한 일입니다. 그래서 HTTP API (저는 Rest API라는 단어는 선호하진 않습니다. 어차피 규약 지키고 있는 경우가 거의 없거든요) 를 통해 원격 서버에서 JSON 객체를 읽어오는 작업을 자주 하게 되는데요. 응답으로 넘어온 JSON 객체는 리터럴 객체이지 클래스의 인스턴스가 아닙니다. Axios를 비롯해서 Got 등 NodeJS & TypeScript 환경에서 자주 사용하는 HTTP API 중 어느 것도 클래스의 인스턴스를 응답으로 넘겨주진 않습니다. Spring이나 닷넷등의 다른 백엔드 프레임워크를 사용해본 분들이라면 여기서 이상한 괴리감을 느낄 수.. 2021. 11. 24.
Public / Private 인터페이스 여기서의 인터페이스란 class, interface, abstract class 등에서 이야기하는 interface 가 아니다. 서로 다른 객체간에 어떤 것들을 사용할 수 있을지에 대한 명세를 이야기한다. Method, Function 등이 모두 포함된다. (위 2개 그림은 모두 동일한 원 (클래스)를 가지고 있으며, 화살표 (의존)만 다르다.) 똑같은 클래스들을 가지고, 누구는 첫번째처럼 얼기설기 얽혀있는 구조로 모든 객체가 서로 연결된 구조를 만들고, 누구는 두번째처럼 각 클래스들이 전달 하는 메세지와 관계가 명확하게 드러내도록 만든다. 이렇게 차이 나는 이유는 클래스가 하는 일에만 집중하고, 무엇을 드러내고, 무엇을 숨길지에 대해 전혀 고려하지 않았기 때문이다. 첫번째는 이를 전혀 고려하지 않아서 .. 2021. 7. 28.

728x90