談談應用軟體人機介面開發的組織框架編寫
阿新 • • 發佈:2019-01-13
一款好的電子產品,肯定少不了一個好的軟體框架,首先我們來看下:
一般來說我們的產品都有按鍵,按鍵用來操作相應的介面,那就會有相應的介面處理方法,以下有兩種結構的編寫:
A類編寫:
void left_key_process(int current_page) { switch(current_page) { case MAIN_PAGE: //針對main_page的左鍵處理 main_page_left_key_process(); break ; case SETTING_PAGE: //針對setting_page的左鍵處理 setting_page_left_key_process(); break ; case LOG_PAGE: //針對log_page的左鍵處理 log_page_left_key_process(); break ; case LANGUAGE_PAGE: //針對language_page的左鍵處理 language_page_left_key_process(); break ; .... } } void right_key_process(int current_page) { //.... } void enter_key_process(int current_page) { //.... } void UI_Page_Process(int KeyValue) { switch(KeyValue) { case LEFT_KEY : left_key_process(KeyValue); break ; case RIGHT_KEY: right_key_process(KeyValue); break ; case ENTER_KEY: enter_key_process(KeyValue); break ; ... } }
B類編寫:
void main_page_process(int KeyValue) { switch(KeyValue) { case LEFT_KEY: //針對main_page的左鍵處理 break ; case RIGHT_KEY: //針對main_page的右鍵處理 break ; case ENTER_KEY: //針對main_page的Enter鍵處理 break ; case BACK_KEY: //針對main_page的back鍵處理 break ; ... } } void setting_page_process(int KeyValue) { switch(KeyValue) { case LEFT_KEY: ... break ; case RIGHT_KEY: ... break ; case ENTER_KEY: ... break ; case BACK_KEY: ... break ; ... } } void Log_page_process(int KeyValue) { switch(KeyValue) { case LEFT_KEY: ... break ; case RIGHT_KEY: ... break ; case ENTER_KEY: ... break ; case BACK_KEY: ... break ; ... } } void UI_Page_Process(int KeyValue) { switch(current_page) { case MAIN_PAGE: main_page_process(KeyValue); break ; case SETTING_PAGE: setting_page_process(KeyValue); break ; case LOG_PAGE: Log_page_process(KeyValue); break ; .... } }
A類編寫,我可以起個名字叫直男式編寫,邏輯沒有錯,也能正常操作相應的頁面,沒有問題,可它就是一條線,直! 首先拿到鍵值,然後操作介面,和我們正常人的思維差不多。但如果程式碼量劇增,頁面眾多,每個頁面有不同的處理按鍵,相信A類的編寫給後面的人來維護或者增加處理方法人一定會非常抱怨,為啥找個介面處理這麼痛苦?
我們再來看看B類,我可以起個名字叫人機介面式編寫。首先我們要操作介面,介面就是人機介面,每個不同的介面由對應的按鍵操作方法,這樣看起來,是不是更好維護了?以後,我要往介面新增、刪除等相關按鍵的處理方法,那是不是就更好找了?
如果有什麼更好的應用框架,歡迎推薦,共同學習!
順便打個廣告,這是我們自家經銷的脣膏,純天然無公害,如果有需要歡迎微信搶購,謝謝大家!