절대 만사 OK가 아니다
변형도 마찬가지임
가끔 보면 이 패턴이 코드 디자인에서 정답인 것 마냥 제시하는 사람이 있어
'그냥 MVC 패턴 쓰면 되잖아'
세상의 모든 프로그래밍 디자인은 씹어버리고 닥치고 그냥 MVC 패턴만 쓰래
잘못된 거야
MVC는 View의 Depth가 깊어질수록 유지보수가 굉장히 힘들어진다
그리고 모듈 하나당 클래스를 몇개 씩 파야돼
이게 무엇을 의미하느냐
1. 개발자가 읽어야 할 코드의 양이 많아진다
2. 개발자가 추가해야할 코드의 양이 많아진다
3. 모델이 뱃살이다. 마인부우 같은 코드가 됨.
따라서 유지보수가 씹창이 나며, 프로그램이 커질수록 개발 속도에 지장이 생김
이게 가장 큰 단점이야
그럼에도 왜 쓰냐고? 보편적이고, 대중화 되었고 직관적이니까 쓰는 거임
안드로이드가 공식으로 쓰는 패턴인데 뭘 쓰지마 빼애애액 할 사람도 있을 텐데
그건 프로그래밍 입문 난이도를 낮추기 위해 구글이 배려해준 거야
구조에는 정답이 없다 다만
1. 디커플링
2. 응집도
3. Keep it simple
우리는 이 세 가지만 의식하면 좋은 구조를 짤 수 있음
SOLID 같은 원칙은 결국 저 세 가지를 지키는 데서 자연스럽게 지켜져
구조라는 건 프로젝트 참여 인원의 프로그래밍 레벨, 어떤 앱인가, 어떤 언어를 쓰는가, 어떤 패러다임을 사용하는가에 따라 천차만별로 달라진다
어디가서 무식하게 '그냥 MVC(MVVM,MVP) 패턴 씁시다' 이러지 마라 제발
계층화 패턴 (Layered pattern)
클라이언트-서버 패턴 (Client-server pattern)
마스터-슬레이브 패턴 (Master-slave pattern)
파이프-필터 패턴 (Pipe-filter pattern)
브로커 패턴 (Broker pattern)
피어 투 피어 패턴 (Peer-to-peer pattern)
이벤트-버스 패턴 (Event-bus pattern)
MVC 패턴 (Model-view-controller pattern)
블랙보드 패턴 (Blackboard- pattern)
인터프리터 패턴 (Interpreter pattern)
아키텍쳐 패턴은 수십가지고 꼭 여기서 골라 쓰라는 법도 없음
ㄹㅇ 한가지 패턴에 넘모 목매서 좋을건 없음
이사람 고수의 냄새가 난다 - dc App
한마디로 정리하자면 패턴으로 문제를 해결하라고 하는 사람 있으면 거르면됨. 처한 문제 상황도 다르고 기존 패턴에서 힌트는 얻을 수 있어도 그 패턴으로 해결하는 케이스는 매--우 레어함
그리고 MVC의 문제는 강하게 opnionated된 프레임워크 아니면 사람들마다 생각하는 정의가 다 다르다는점..ㅋㅋ
걍 좆도 필요없고 아키텍쳐 패턴은 언어나 프레임워크가 빵빵하게 밀어주는 패턴 쓰면 됨 좆되는 패턴 염병하는 패턴 이것저것 써봐야 언어나 프레임워크에서 지원해주는게 1도 없는 좆병신 맨땅 패턴은 써봐야 좆도 의미없음
ㅇㅇ 맞음 그냥 툴에서 지원해주는 아키텍처에 적응 하는게 베스트임 예를 들면 안드로이드는 MVC 게임 엔진은 Entity Component System 쓰는 언어/툴마다 아키텍쳐가 뭔지 조사해서 거기에 맞는 커스텀 아키텍쳐를 구성하는 거지 꼭 구조를 0에서 MVC 대입해서 파괴 후 창조 시키는 애들 있어서 스트레스 받음
MVC로 예를들면 네이밍만 MVC고 설계는 지좆꼴리는대로 하는새끼들이지 그냥 좆패야함
그래서 애플의 MVC가 망했지