소프트웨어 설계의 5가지 원칙으로 SOLID라는 것이 있다. 흔히 객체지향 설계 기법으로 알려져 있지만, 꼭 객체지향 소프트웨어 설계에만 한정되는 것은 아니고 절차적 프로그래밍 기법으로도 적용할 수 있다. 설계 원칙을 만들고 공부하고 적용하는 이유는 무엇일까? 예측하지 못한 변경사항이 발생하더라도 유연하고 확장성이 있도록 시스템 구조를 설계하기 위해서다. 좋은 설계란, 기본적으로 시스템에 새로운 요구사항이나 변경이 있을 때 가능한 한 영향받는 부분을 줄이는 것이다. 즉 잘 설계한 시스템은 이해하기 쉽고, 바꾸기도 쉽고, 재사용하기도 쉽다. 1. 단일 책임 원칙 (SRP; Single Responsibility Principle) 객체는 단 하나의 책임만을 가져야 한다. 어떤 클래스를 변경해야 하는 이유는..
Flux 패턴 자바스크립트에서 데이터 레이어를 생성하기위한 아키텍쳐로 Flux라는 이름으로 패턴이 구현되었다. 프로그램의 데이터에 대한 명확하고 이해하기 쉬운 업데이트 경로를 만드는데 중점을 둔다. 개발과정에서는 변경사항을 추적하는 것이 간단하고, 버그를 찾고 수정하는것이 용이해진다. 개요 플럭스를 가장 잘 설명하기 위해 MVC와 같은 주요 클라이언트 측 아키텍처 중 하나와 비교해 보면 알 수 있는데, 클라이언트 측 MVC 애플리케이션에서 사용자의 상호 작용은 컨트롤러의 코드를 트리거한다. 컨트롤러는 모델의 메소드를 호출하여 하나 이상의 모델에 대한 변경 사항을 조정하는 역할을 한다. 이는 모델이 변경되면 하나 이상의 뷰에 통보하고 모델에서 새 데이터를 읽고 사용자가 새 데이터를 볼 수 있도록 업데이트한..
MVC(Model-View-Controller) 디자인 패턴의 이해와 활용 MVC 패턴의 이해 1. 이 글은 누구를 위한 무엇인가 본 글은 디자인 패턴에 대해 이해는 하고 있으나 실제 작업에서 어떻게 활용해야 하는지 부담을 느끼는 독자들에게 도움이 될 것이다. 개별 패턴에 대한 이해를 목적으로 제작된 디자인 패턴 관련 서적은 시중에 많다. 그러나 개별 디자인 패턴들을 이해하더라도 실제 작업에서 활용할 수 없다면 효율적으로 프로그래밍을 하는 데 큰 도움을 주지 못할 것이다. 이 글에서는 이러한 접근을 지양하고 MVC 패턴을 활용해 봄으로써 디자인 패턴을 왜 사용하는지에초점을 두고 설명한다. OOP 언어에서 디자인 패턴을 꽃이라고 한다면 MVC(Model-View-Controller) 패턴은 꽃다발이라고 할..