or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
從MVC到MVVM,再到MVVMC的開發經驗分享 - 黃惠勤
所有議程請見議程表。
歡迎來到 https://hackmd.io/@iPlayground/2019 共筆
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →點擊本頁上方的 開始用 Markdown 一起寫筆記!
手機版請點選上方 按鈕展開議程列表。
YouTube
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Slide
前言
我沒有要說很多MVC的壞話
MVC其實是很多巨頭APP的根基
簡介
常犯的問題
MVVC解決什麼問題
要注意的問題
MVC 常見的問題
controller 責任太多
如何減少ViewController的負擔(作代碼分類)
程式的品質 Code Quality
將程式轉移到ViewModel
畫面複雜時:ViewModel很肥
ViewModel優化
MVVMC (C - Coordinator)
Sample code:
https://github.com/nghuiqin/Todo-RxSwift-MVVMC
Singleton的隱患
Dependency Injection
DateFormatter很貴
MVVMC再進化 -> 實戰心得 -> 要注意的坑
AppDependency傳入的方法
App -> B -> C -> D
-> 請大家給建議?勿用萬惡singleton?(myAppManager)
結語
共筆心得
tags:
iPlayground2019