工程化開發優點 風格一致 **整潔
開發流程
開發 model
開發repositories
開發services
開發controllers
開發views
datamodels:放所有的模型
repositories:資料庫的增刪改查抽象成乙個資料庫類,這些資料庫類都放在這裡,跟datamodels一一對應
services:業務邏輯**放這裡,跟datamodels中的檔案一一對應
其中datamodels,repositories,services從概念上可以抽象為整個models
web----controllers:所有的控制器都放這裡
----views:存放mvc所有模板
type product struct
資料庫操作類
/*
先開發對應的介面
資料庫連線
插入刪除
更新查詢
*/type iproduct inte***ce
/* 實現定義的介面
*/type productmanager struct
func newproductmanager(table string, db *sql.db) iproduct
}//資料連線
func (p *productmanager) conn() (err error)
p.mysqlconn = mysql
} if p.table == ""
return
}//插入
func (p *productmanager) insert(product *datamodels.product) (productid int64, err error)
//2.準備sql,放置佔位符
sql := "insert product set productname=?,productnum=?,productimage=?,producturl=?"
stmt, errsql := p.mysqlconn.prepare(sql)
defer stmt.close()
if errsql != nil
//3.傳入引數
result, errstmt := stmt.exec(product.productname, product.productnum, product.productimage, product.producturl)
if errstmt != nil
return result.lastinsertid()
}
業務邏輯
多次一舉?rep中定義的是最底層的操作,service裡會有業務邏輯,比如商品查詢完後,可能會進行判斷
type iproductservice inte***ce
type productservice struct
func newproductservice(repository repositories.iproduct) iproductservice
}func (p *productservice) getproductbyid(productid int64) (*datamodels.product, error)
type productcontroller struct
func (p *productcontroller) getall() mvc.view ,
}}
}
}
我心目中的商用化開發和工程化開發
今天是上網搜東西時,偶然發現這個活動的,看了活動的介紹和提供的資料,感慨頗深。我心目中的商用化就是面對使用者提出的需求,以最少的成本來盡可能高質量的完成使用者的的需求,如果質量低的話,後期所付出的維護成本會很高,所以質量最好好一些,回頭看自己學習的課程,資料結構,作業系統,組成原理,為什麼技術會有那...
安卓工程化開發筆記(1)
2018.3.8日 一 什麼是軟體工程?1 軟體工程 是把系統的 有序的 可量化的方法應用到軟體的開發 運營和維護上的過程。2 軟體工程包括下列領域 軟體需求分析 軟體設計 軟體構建 軟體測試和軟體維護。3 軟體工程和下列的學科相關 了解 電腦科學 計算機工程 管理學 數學 專案管理學 質量管理 軟...
我心目中的「商用化開發」和「工程化開發」徵文大賽
活動獎品 秀獎5名,每人可獲得肖舸老師的新書 0 bug c c 商用工程之道 1本 注意事項 學習材料 l 做什麼樣的軟體才能賺錢?學什麼樣的知識才能賺錢?l 關於計算機專業的學習 答一位同學提問 l 商用工程開發中的一些習慣 l 資料傳輸工程學什麼 答一位同學提問 l 如何訓練大學生的工程實戰能...