코딩공부/개발지식

[7회] Call by value vs Call by reference / DDD vs MSA

표자 2023. 5. 25. 15:13
728x90
반응형

1. Call by value와 Call by reference에 대해 설명해주세요.

자바스크립트에서는 원시 타입(primitive type)의 값은 call by value(값에 의한 호출)로 전달되고,
객체 타입(object type)은 call by reference(참조에 의한 호출)로 전달됩니다.

Call by value는 변수에 저장된 값을 복사해서 전달하는 방식입니다. 
이 방식에서는 변수의 복사본이 전달되므로
함수 내부에서 전달 받은 값을 변경해도 원래 변수의 값은 변경되지 않습니다.

반면에 call by reference는 변수 자체가 전달됩니다. 
이 방식에서는 해당 변수의 주소를 전달하므로 함수 내부에서 
전달 받은 값을 변경하면 원래 변수의 값도 변경됩니다.

Call by value는 변수에 저장된 값을 복사해서 전달하는 방식입니다.
장점은 복사하여 처리하기 때문에 매개변수로 전달된 값이 보존되고 안전합니다.
단점으로는 복사를 하기 때문에 메모리 사용량이 늘어납니다.

call by reference는 변수 자체가 전달됩니다. 
장점은 복사하지 않고 직접 참조를 하기 때문에 실행 속도가 빠릅니다. 
단점은 직접 참조를 하기 때문에 원래의 값이 영향을 받습니다.

 

🔥꼬리질문🔥

<  >

 

 

2. DDD와 MSA에 대해 설명해주세요.

DDD(Domain-Driven Design)는 도메인 주도 설계로 도메인 모델을 중심으로
설계하고 구현하는 것을 의미합니다.

도메인은 사건의 집합이라 생각하고,
여러 도메인들이 서로 상호작용하여 설계하는 것이 도메인 주도 설계입니다.
DDD의 핵심은 도메인을 서비스별로 분리하는 것 입니다.

MSA(Microservice Architecture)는 서비스를 작은 단위의 마이크로서비스로 분리하여
개발하는 아키텍처 패턴입니다. 이는 각 마이크로서비스가 독립적으로 배포 및 확장 가능하도록 설계됩니다. MSA의 핵심은 설계 및 정의할 때는 그 경계를 정하는 것이 핵심입니다.

DDD와 MSA는 객체지향과 많은 관련이 있습니다.
DDD와 MSA는 함께 사용하면 대규모 애플리케이션을 설계하고 개발하는 데 도움이 될 수 있습니다.
DDD를 사용하면 애플리케이션의 도메인 지식을 이해하고
MSA를 사용하면 애플리케이션을 작은 서비스로 분해할 수 있습니다.

 

DDD - 우아한 테크톡

참고 링크

https://huisam.tistory.com/entry/DDD

https://learn.microsoft.com/ko-kr/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice

 

🔥꼬리질문🔥

<  >

728x90
반응형