新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame工程開發(fā)設(shè)計-結(jié)構(gòu)化編程設(shè)計
一、基本介紹
結(jié)構(gòu)化編程,簡單來理解,就是通過定義結(jié)構(gòu)體傳遞和返回參數(shù)。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的興賓網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
我們建議在必要的場景下使用結(jié)構(gòu)化定義來管理輸出/輸出,尤其是在?controller?和?service?兩層的代碼設(shè)計中。
1、controller非結(jié)構(gòu)化痛點
- 難以確定接口輸入/輸出數(shù)據(jù)結(jié)構(gòu),大多數(shù)的場景是在代碼中硬編碼參數(shù)接收名稱,易把名稱寫錯造成不可預(yù)料的問題
- 接口參數(shù)往往只定義一個?
HttpRequest/HttpContext?對象指針,執(zhí)行結(jié)果直接寫入到對象,難以確定接口是否成功/失敗 - 參數(shù)接收、校驗、轉(zhuǎn)換處理工作繁瑣
- 接口文檔生成以及維護極為困難
2、service非結(jié)構(gòu)化痛點
- 當方法參數(shù)較多的時,定義丑陋,使用別扭
- 當方法參數(shù)數(shù)量、類型不太確定時,任意的參數(shù)變化都是非兼容的,會引起較高的修改成本
- 方法參數(shù)注釋不簡便,以至于絕大部分業(yè)務(wù)項目都不會有方法參數(shù)注釋
二、結(jié)構(gòu)化編程
1、controller結(jié)構(gòu)化改進
結(jié)構(gòu)化優(yōu)點:
- 通過結(jié)構(gòu)化管理接口輸入/輸出參數(shù),參數(shù)接收不再需要硬編碼參數(shù)名稱,降低維護成本,避免參數(shù)名稱硬編碼錯誤問題
- 可以做到自動化的參數(shù)接收、轉(zhuǎn)換、校驗,提高生產(chǎn)力
- 使得接口管理能夠像普通的函數(shù)管理那么方便,通過返回?
error?來判斷接口處理結(jié)果,并可以規(guī)范化統(tǒng)一錯誤機制 - 使得自動化的接口文檔生成變?yōu)榱丝赡?,并保障了接口結(jié)構(gòu)定義和接口文檔同步維護
結(jié)構(gòu)化示例:
結(jié)構(gòu)定義:
方法使用:
2、service結(jié)構(gòu)化改進
結(jié)構(gòu)化優(yōu)點:
- 當方法參數(shù)較多的時,通過結(jié)構(gòu)體優(yōu)雅管理參數(shù)
- 當方法參數(shù)數(shù)量、類型不太確定時,參數(shù)的增加對方法調(diào)用來說都是兼容性的
- 對結(jié)構(gòu)體屬性的注釋描述更加便捷,提高代碼維護質(zhì)量
結(jié)構(gòu)化示例:
三、注意事項
- ?
service?層的方法在使用結(jié)構(gòu)化管理輸入/輸出參數(shù)時,結(jié)構(gòu)體中任意參數(shù)都將會被看做非必需參數(shù)。因此需要根據(jù)業(yè)務(wù)場景合理評估可行性。
當前名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame工程開發(fā)設(shè)計-結(jié)構(gòu)化編程設(shè)計
本文鏈接:http://m.5511xx.com/article/cdsdcid.html


咨詢
建站咨詢
