Tag

#object-oriented

8 posts with this tag.

마약 조직으로 이해하는 책임 할당 패턴 GRASP

마약 조직으로 이해하는 책임 할당 패턴 GRASP

2025.12.07

<갱단과의 전쟁>을 보다가 또 하나의 흥미로운 생각이 들었다. 마약 조직이라는 대상은 도덕적으로 정당화될 수 없지만, 구조적인 관점에서 보면 규모를 키우고 오래 버티기 위해 꽤 일관된 설계를 갖추고 있다는 점이다. 이들의 설계는 멋있어서가 아니라 생존을 위해 필연적으로 그렇게…

마약 조직으로 이해하는 객체지향 설계 원칙 SOLID

마약 조직으로 이해하는 객체지향 설계 원칙 SOLID

2025.12.07

SBS에서 제작한 다큐멘터리 <갱단과의 전쟁>을 보다가 흥미로운 생각이 들었다. 마약 조직이라는 대상이 도덕적으로는 비난받아 마땅하지만, 구조적인 관점에서 보면 놀라울 정도로 객체지향적인 특성을 가지고 있다는 점이다.상위 조직은 세부 구현에 관여하지 않는다. 전체적인 전략과…

Proxy와 Reflect에 대한 개인적인 오해

Proxy와 Reflect에 대한 개인적인 오해

2025.04.24

기존 자바스크립트 사용자들은 객체의 속성 접근을 감지하거나 동작을 변경하기 위해 Object.defineProperty() 같은 저수준 API를 활용해 왔다. 이 방식은 특정 프로퍼티의 getter나 setter를 재정의하는 데에는 유용했지만, 동적으로 추가되는 속성이나 함수 호출, 삭…

자바스크립트에서의 멀티패러다임 프로그래밍

자바스크립트에서의 멀티패러다임 프로그래밍

2025.03.15

이 글의 제목은 ‘자바스크립트에서의 멀티패러다임 프로그래밍’이지만, 우선은 영어에 대해 이야기해보자. 다소 뜬금없다고 느낄 수도 있겠지만, 다 이유가 있다.아주 오래전, 국제 외교의 언어는 프랑스어였다. 왕실 간의 외교문서와 고위 외교관의 대화는 프랑스어로 쓰이는 것이 관례였다. 하지만…

inheritance v composition

inheritance v composition

2025.01.30

객체 지향 프로그래밍은 코드의 재사용성과 유지보수성을 높이기 위해 다양한 설계 원칙을 제시한다. 그중에서도 클래스 상속(Class Inheritance)과 클래스 합성(Class Composition)은 객체 간의 관계를 정의하는 대표적인 방법이며, 시스템의 유연성과 확장성에 직접적인…

비즈니스 로직은 어디에 있어야 할까

비즈니스 로직은 어디에 있어야 할까

2025.01.30

Nest.js에서 컨트롤러와 각각의 프로바이더는 분명한 책임을 갖는다. 하지만 막상 서버를 개발하다 보면, 이 책임들을 깊이 고민하지 않은 채 코드를 작성하게 되고, 그 결과 클래스들이 서로의 영역을 침범하는 상황이 반복된다. 나 역시 컨트롤러에 비즈니스 로직이 섞이거나, 서비스가 지나…

객체 타입 지향

객체 타입 지향

2025.01.10

아래는 전역 상태 관리 라이브러리 Caro-kann의 persist 미들웨어 내부에서 사용되는 유틸리티 함수들의 타입 정의이다. 세 타입 모두 storageKey와 storageType이라는 동일한 파라미터를 요구하고 있으며, 이 둘은 저장소의 위치와 종류를 식별하기 위한 핵심 정보라는…

UML

UML

2024.07.22

소프트웨어 시스템은 코드로 구현되지만, 코드만으로 시스템 전체를 설명하기는 어렵다. 특히 여러 명이 함께 개발하거나, 시간이 지나 다시 코드를 바라보는 상황에서는 “이 시스템이 어떤 구조를 가지고 있고, 왜 이렇게 설계되었는지”를 빠르게 파악하기가 쉽지 않다. 이런 맥락에서 설계 의도를…