본문 바로가기

LANGUAGES, METHODLOGY/Clean Architecture

(4)
[클린아키텍처] 4부 : 컴포넌트 원칙 클린 아키텍처에서 실제 아키텍처 장에 들어가기 전에 컴포넌트에 있어 지켜야 할 원칙들에 대해 보이고 있는 장이다. 중요한 개념을 가지고 있으면서, 여러 이 개념을 이해하고 응용하는데 필요한 용어들이 다수 있기에 이를 정리해보고 리마인드 하고 싶은 내용을 마저 정리해보고자 한다! REP : 재사용/ 릴리스 등가 원칙 재사용 단위는 릴리스 단위와 같다. 개발자는 릴리즈 단위를 통해 어느 시점의 컴포넌트를 사용해야 하는지 알 수 있다. 요즘엔 너무도 일반적인 사용 예! CCP : 공통 폐쇄 원칙 동일한 이유로 동일한 시점에 변경되는 클래스를 같은 컴포넌트로 묶어라. 서로 다른 시점에 다른 이유로 변경되는 클래스는 다른 컴포넌트로 분리하라. SRP와 OCP 원칙을 가지고 이 원칙을 적용해낼 수 있다. CRP :..
[클린아키텍처] 3부 : SOLID 원칙 계속 머릿속에 되뇌이면서 코드에 녹여내야 할 중요한 원칙 SOLID에 관한 내용이다. 단순한 코드 차원에서 나아가 전반적인 구조를 어떻게 구성해야 할 지에 대한 내용에 더 가깝다. 기존에 살폈던 내용과 책을 읽고 난 뒤 다시 정리 차 내용을 끄적여 본다. SRP(Single Responsibilty Principle) 단일 책임 원칙 각 모듈은 하나의 구성원에게만 책임을 진다. 유사한 기능을 수행하는 로직이 있을 지라도, 이는 사용하는 대상과 더불어 대상에 따라 다르게 적용될 이후 수정사항들이 존재할 수 밖에 없기 때문에, 이를 분리함으로써 하나의 기능 수정이 모든 모듈에 미칠 수 있는 영향을 제거하는 것이다. OCP(Open Close Principle) 개방 폐쇄 원칙 기존의 코드를 건드리지 않고, ..
[클린아키텍처] 2부 : 프로그래밍 패러다임 우리가 개발자로써 업무를 진행하면서 겪게 되는 다양한 애로사항들, 거기에 있어서 우리가 가져야 하는 자세와 중요한 원칙에 대해 1부에서 짚어 보았다면, 이제 2부에서는 우리에게 익숙한 구조적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍으로 정리되는 패러다음들의 핵심이 무엇인지, 그 이전과 그 이후가 어떠한지 설명하고 있다. 권한의 박탈과 구조적 프로그래밍 각 프로그래밍 패러다임의 핵심을 로버트 C. 마틴은 '권한을 박탈하는 것'으로 시작과 끝을 맺고 있다. 프로그래밍 패러다임이 있기 이전인 1950년대에는 어떤 특정한 원칙 없이, 기능 구현을 위한 방법이 말대로 무궁무진하게 열려 있었기 때문에, 개발자들이 필요 이상으로 복잡한 설계를 만들게 되고, 불필요한 세부사항을 양산하는 일이 만연해 있었다...
[클린아키텍처] 1부 : 클린 아키텍처, 그 첫 장 오랫동안 해야지 해야지 하고 사두고는 고이 꽂아 두었던 로버트 C. 마틴의 클린 아키텍처를 드디어 집어 들었다. 집어 들은데서 더 나아가 펼치기까지 했다(이건 누군가에겐 종종 대단한 일이 되기도 한다.) 아직 실제 클린 아키텍처에 대한 구체적인 내용은 들어가지 않았지만, 클린 아키텍처와 개발이라는 것에 대한 저자의 생각과 개발에 대해 어떠한 마음가짐을 가지고 들어가야 할 지를 흥미롭고, 공감되도록 하면서 경각심을 들게끔 하고 있다. 첫 장을 읽고 나서 내가 중요하게 생각하는 부분들 일부를 조금 정리해두려고 한다. 첫번째는 바로 경각심이다. " 하지만 프로그램을 제대로 만드는 일은 전혀 다르다. 소프트웨어를 올바르게 만드는 일은 어렵다. 소프트웨어를 제대로 만들려면 적정 수준의 지식과 기술을 겸비해야 하지..