-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model 구현 #20
Comments
@baekCode 멋져요우!!👍 여기서 같이 고민해볼 내용이, 동일한 이벤트가 발생하더라도 구독자마다 필요한 데이터가 다르면 예를들어서 아래의 경우엔
statePanelView는 최종 계산된 금액 (-> 초기 데이터는 '0'원 이겠죠?)이 필요하겠고 |
@reesekimm 빠른답변 고마워요! ㅎㅎ 이제야 확인하네용! 근대 생각해보니까 statePanelView 에서 초기값을 받아올 필요가 있을까요? statePanelView 에는 'onPurchase' 이벤트가 일어나면 walletModel에서 최종 계산된 금액을 던저주면 그것만 뿌리는것? 어떻게 생각 하세유?! |
@baekCode
그렇네요! "onLoad"시에 statePanelView는 데이터 없이 디폴트값 0 만 넣어줘도 될 것 같아요ㅎㅎ
-> statePanelView도 "onLoad" 구독자로 등록해서 순차적으로 렌더링 될 수 있게 해 줄 필요는 있을 것 같아요~ |
@reesekimm 근대 궁금증! 어제 수업때처럼 크롱이 데이터를 전달할필요가 없는 내부적인것이면 굳이 모델과 연결이 필요한걸까용? 추가) 컨트롤.init 에서 그냥 ㅎㅎ stateview render 하려고했는데 그냥 ㅎㅎ 맞추려면 onload 해서그냥 해도 되겠네요! ㅎㅎ 해결!! |
모델의 역할
뷰의 역할
|
음.. 넹 ㅎㅎ model이 서버로부터 데이터를 가져오는대로 view에 넘겨서 렌더링 하는 용도(?)입니당!
저도 그것때문에 고민했었는데
혹시 다른 아이디어 있으시면 말씀해주세여~! |
컨트롤러의 init() 에서 실행되는 일관성을 설명하면 괜찮은 아이디어인거같아요! ㅎㅎ 지금 살작 고민인게, walletModel 에서
계산하는 부분을 모델, 컨트롤러 어디에서 해도 상관없는걸까요? ps) 머리속에 완전히 흐름이 생기니 재밌어지고있습니당! 리즈덕분입니당!! |
마침 폰 보고 있었어요ㅋㅋㅋ 알림이 와서리...ㅋㅋ (실시간으로 장문의 코멘트가 달려서 당황하는즁) 이거는 답장하는데 시간 좀 걸리겠네요ㅋㅋㅋㅋ |
ㅋㅋㅋㅋ나중에 천천히 답변주세요! ㅎㅎ 급한건 아니에용!! |
넹넹 오전중에는 확인해서 회신드릴게요~! |
@reesekimm 덕분입니다 ㅠㅠ |
@baekCode
-> 현재 로직에서는 itemPanelView 뿐만 아니라 모든 뷰가 'onLoad' 타입의 구독자로 추가됩니다~ 왜냐?! 현재 코드는 구독자(view)의 역할을 'model이 준 데이터를 화면해 표시해주는 것'으로 정의했고, 그 역할에 충실하기 위해 model에서 data fetching이 완료되자마자 데이터를 view에 전달해서 렌더링을 해주게끔 작성되어 있어요! 먼저 controller의 init 메소드를 볼게요. init() {
// register observers
this.itemPanelView.registerAsObserver();
this.statePanelView.registerAsObserver();
this.walletView.registerAsObserver();
// fetch data & render View
this.itemModel.getInitialData();
this.walletModel.getInitialData();
// bind eventListeners
this.statePanelView.bindOnClickListener(this.onClickItemHandler);
this.walletView.bindOnClickListener(this.onClickWalletHandler);
} 맨 처음 구독자 등록을 위한 3줄이 순차적으로 실행되면서 itemModel의 onLoad 구독자 리스트 observers.onLoad = Set[itemPanelView.render, statePanelView.render] walletModel의 onLoad 구독자 리스트 observers.onLoad = Set[walletView.render]
init() {
...
// fetch data & render View
this.itemModel.getInitialData();
this.walletModel.getInitialData();
...
} 그 다음 초기 데이터를 로드하기 위해 data fetch를 하고, itemModel부터 '순차적으로' data fetching을 하기 때문에 그래서 모든 화면이 순서대로 렌더링 되려면
구독자에 따라 다른 데이터가 필요한 상황이 생기더라고요~ 예를들면 투입 이벤트 발생시 walletModel의 onInputMoney구독자들이 필요한 데이터는
이런식으로 모델별로, 이벤트 타입별로 조금더 살펴보면 좋을 것 같아요~!
잔돈이 좀 애매해요. (추가) 백코도 같은 고민이시네요!
|
itemMdel 수정 예정
|
해야할일
|
@baekCode
설계하고 공유해주시면 화이팅!!🙌 |
네네 확인 했습니다! |
notify의 타입?
모델의 역할
bold 처리된 부분은 구독자에게 전달해야할 데이터
@reesekimm 내용 확인 부탁드려용~
The text was updated successfully, but these errors were encountered: