Iris工程化開發流程

2021-10-05 14:35:00 字數 1849 閱讀 6256

工程化開發優點 風格一致 **整潔

開發流程

開發 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 如何訓練大學生的工程實戰能...