목록프로그래밍/개발 지식 (3)
공부 기록

✅들어가며 도메인 중심 설계를 포스팅하면서 공부했을 때, 데이터 중심 개발은 getter와 setter사용으로 캡슐화가 되지 않는 점을 단점으로 꼽으면서 도메인 중심 개발이 이를 보완할 수 있다고 하였다. 그런데 나는 배달 어플 프로젝트를 시작하며 객체 생성을 위한 클래스를 만들면서 Getter와 Setter를 이용하였다. (이 방법dl 이 아닌 다른 방법으로 클래스를 만들어 본 적이 없기도 하다;;) 그렇다면 도메인 중심 개발에서 클래스를 만들기 위해서는 어떻게 해야할까? 이를 알아보기 위해 Entity, DTO, VO에 대해 정리해 보았다. ✅DTO(Data Transfer Object) 계층(Layer) 간 데이터를 서로 주고받을 때 사용하는 객체이다. 로직을 가지고 있지 않으며, getter와 s..
소프트웨어 설계(Software Design) 소프트웨어 설계는 소프트웨어 해결책을 찾기 위한 계획과 문제해결 과정을 말한다. 객체 지향 설계 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동을 말한다. 좋은 객체지향 설계를 위해서는 협력하는 객체들 사이의 의존성을 적절하게 조절함으로써 변경이 용이한 설계를 만들어야 한다. 좋은 설계의 판단 척도 : 캡슐화, 응집도, 결합도 캡슐화 : 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법이다. 응집도: 모듈에 포함된 내부 요소들이 연관되어 있는 정도로, 객체지향의 관점에서는 객체 또는 클래스에 얼마나 관련 높은 책임들을 할당했는지를 나타낸다. 응집도가 높은 설계에서는 하나의 요구사항 변경..

들어가며 오늘은 프로그래밍을 배우기 시작한 후로 수없이 들어봤지만 한번도 공부해보지 않았던 API와 REST API에 대해서 정리해보는 시간을 가졌다. API란? 개념 API(Application Programming Interface)는 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. (위키백과) 좀 더 쉽게 정리하자면, API는 식당의 점원과 같은 역할로 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)을 정리하고, 주문(명령)을 받으면 요리사(응용프로그램) 상의하여 음식(명령에 대한 값) 전달한다. 즉, 프로그램들이 서로 상호작용하는 것을 도와주는 매개체이다. 역할 서버와 데이터베이스에 대한 출입구 역할을 해서 허용된 사람에게..