이전에 체인코드에서의 MVC패턴에 대해서 공부하고 앞으로의 프로젝트에서 적용하려고 정리했습니다.
그리고 실제로 프로젝트 투입 후 이렇게 저렇게 구조를 정리해본 결과를 한번 더 정리하려 합니다.
완성도는 올라간것 같지만 아직 손봐야될 부분이 생길수도 있다고 생각합니다.
폴더 구조
기존 프로젝트 구조
1 | \GOPROJECT\SRC\MVC |
이전에 체인코드에서의 MVC패턴에 대해서 공부하고 앞으로의 프로젝트에서 적용하려고 정리했습니다.
그리고 실제로 프로젝트 투입 후 이렇게 저렇게 구조를 정리해본 결과를 한번 더 정리하려 합니다.
완성도는 올라간것 같지만 아직 손봐야될 부분이 생길수도 있다고 생각합니다.
1 | \GOPROJECT\SRC\MVC |
하이퍼레저 프로젝트 개발시 체인코드 개발자는 테스트용 네트워크가 필요
네트워크가 빨리 구성되면 좋지만 마냥 기다릴 수 없고 개발이 병행으로 진행되는 경우가 많아
네트워크 구성 전 까지 사용할 기본 네트워크를 만들었음
체인코드 개발시 런타임 에러로 인해 panic 발생으로 체인코드 도커가 내려가는 상황이 잦음
도커 명령어로 해당 에러가 무엇인지 확인해야 하고 체인코드는 다음 실행됐을때 다시 도커가 올라가면서 작업이 수행됨
이러한 방법은 에러 추적이 어려워짐
Go언어의 panic, recover를 공부하면서 이런 문제를 어느정도 보완할 수 있을것으로 생각
조금 더 확실하게 공부해서 앞으로 있을 체인코드 개발에 MVC에 가깝게 구조를 잡고 개발하기위해 정리
MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 “관심사 분리” 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다.
데이터를 받아 비즈니스 로직을 처리
주로 DB와의 상호작용이 해당