HMVC 패턴?
일을 하다가
혼자서 여러개의 프로젝트를 유지보수는 기본이고 추가 개발까지 진행을 해보니 느낀게 있다
이거 MVC 패턴이 뭔가 잘못된건 아닐까?
MVC 패턴이 구조 설계가 문제가 있다는게 아니다.
좀 더 좀 더 확장성있게 변화할 필요가 있었다.
여러개의 프로젝트를 동시에 유지보수를 하고 새로운 프로젝트가 추가 되면
위에서는 이렇게 말한다.
"ㅇㅇ씨 새로 추가되는 ㅇㅇ프로젝트가 지금 유지보수 하고있는 ㄴㄴ프로젝트 있죠?
그거랑 비슷하게 가면되요~~"
그럼 나는 ㄴㄴ프로젝트를 복사해서 재활용을 준비한다.
하지만 무조건 a부터 z까지 모두 동일한 로직으로 흘러가는 프로젝트는 없다.
중간에 기능이 추가되어 새로 추가된 ㅇㅇ프로젝트에서는 필요가 없는 코드도 정리해야한다.
그러면 아무리 코드를 잘짠다 하더라고 디비 컬럼도 정리하고 한두번씩 테스트는 무조건 당연하다.
내가 깔끔하게 덜어냈다 하더라도 추후에 문제가 될 여지가 있는지 체크도 반드시 해야한다.
하지만 일하는 환경이 그런거까지 꼼꼼하게 해야하지만 여유롭게 사이드 이펙트를 생각하며 돌아가지 않고 항상 분주하고 정신 사납다.
그렇다면 반드시 실수를 하게된다.
꼼꼼하게 하려고 했지만 1, 2, 3, 4 스탭을 진행해서 순차적으로 업무를 해야하지만 정신이 없을때는 일의 순서가
1 -> 가 -> 나 -> A -> B -> 2 -> 가-1 -> 나-2 -> 3
이런식으로 순서가 뒤죽박죽 섞이게 된다. 사람은 실수를 하게 되면 그것을 고치려고 노력을 반드시 해서 점점 나아지는 모습을 보여야 하지만 때로는 정말 내가 무슨일을 하는지 어디까지 일을 했는지 todo를 작성해도 아주 사소한 실수라도 하게된다. 나는 어느순간 이렇게 생각했다. 내가 실수를 줄이는 상황을 만들자!
프론트 컨포넌트를 빼서 유지보수성을 올린것처럼 백단에서도 패키징을 하면 안될까?
mvc패턴이 한프로젝트에 하나가 아닌 한프로젝트에 여러개의 mvc 패턴이 패키징이 되어서 한번 잘만들어두고 패키징만 잘되면 서로 기능적으로 로직적으로 관계를 느슨하게 만들어서 테스트를 내가 덜 하더라도 에러 확률을 확실하게 낮출 수 있는 방법을 생각해봤다.
이러한 상황을 챗gpt에 물어보고 검색하고 찾아보니 누군가가 나와 똑같은 일을 겪은건지 이미 나와있었다.
왜 나는 몰랐던건지 조금 자책하고 늦게라도 안게 어디냐고 위안도 삼았다.
그리고 조금 더 찾아보고 HMVC 패턴으로 구현된 프레임워크나 좋은 사례가 거의 없다시피 한걸 알게 되었다.
유일하게 php 에서 찾았다.
trongate 라는 이름의 프레임워크인데 이걸 배워서 실무에 적용할 수 있는 만큼 빠르게 적용해보는게 나의 목표이다.