一寝凌、winform和wpf的區(qū)別:
1.winform 是“前后端”不分離的柒傻,wpf是前后端分離的焦人。這個是winform的設計器和c#編碼“耦合度”太高了募疮,不能獨立進行設計頁面草讶。
如下圖是wpf的結構:【具體的解釋在圖片里面】==》它的設計器是用xaml來寫 就像html一樣逝嚎,但winform的設計器還是c#的屬性值頁面跟語言本身的關聯(lián)度太高扁瓢。
2. windowform的難度比wpf相對低,因為wpf你要學習xaml的語法补君。
3.控件自適應:wpf比windowform好太多了
4.界面的UI肯定是wpf好看了引几,前提是會寫樣式,它對樣式比較自由
5.wpf 可以數(shù)據(jù)類似vue=>data綁定挽铁,windowform沒有這樣的使用伟桅,控件的值需要內部賦值才能起到wpf的這塊的效果叽掘。
ps:小插曲楣铁,之前寫個客戶端,優(yōu)先想到的是易語言更扁,然后思維邏輯調不過來盖腕,中文的控件和代碼很不適應,最終放棄浓镜,現(xiàn)在可以溃列。。膛薛。嘿嘿听隐。。相叁。
二遵绰、項目的設計規(guī)劃
1.想做一個“偽”框架【如下圖】
sys【系統(tǒng)文件夾】:
放 特性【類似java的特性】 公共的組件 接口 以及 公共的工具類
mapper:
放置xml文件 主頁是用于寫比較復雜的查詢sql 【目前不支持insert select update 等標簽再嵌入其他標簽或者表達式】辽幌,
目的是清晰可見sql【放在c#里面結構不是很清晰】。//可能大佬看到這里會說怎么不把業(yè)務放到服務端椿访,使用這個客戶端調用就行乌企,因為這里是做敏捷開發(fā),數(shù)據(jù)庫是使用sqlite成玫,如果需要對接后端接口加酵,可以使用遠程調用的根據(jù),我會把這部分放到文章最末尾端哭当。
project:
放置業(yè)務代碼 按模塊區(qū)分 里面只有service的實現(xiàn)==》仿java
工具層級已有 遠程調用接口的工具猪腕、excel導入導出的工具、mysql/sqlite/oracle的sql生成工具钦勘、xml解析注入工具陋葡、word生成工具等等。
糾正一下彻采,今天偶然看了一下b站的 一個c#客戶端的項目教程
===============================
關于項目的搭建:
項目結構是分為三層: 【主要是層級和類庫 按單個解決方案肯定大于三個】
一腐缤、UI表現(xiàn)層,展示的界面
如我上圖所示
二肛响、BLL業(yè)務邏輯岭粤,具體業(yè)務的一組裝層,對數(shù)據(jù)訪問層返回的結構做處理 【類似java的service層】
三特笋、DAL 數(shù)據(jù)訪問層剃浇,直接操作數(shù)據(jù)庫 【類似java的dao層】
四、實體模型層:Models 貫穿三層猎物,傳遞數(shù)據(jù)
五虎囚、輔助工具的層:Common層
所以項目最上面的規(guī)劃需要調整,在此寫這么多是為了防止新手看到 會走錯路霸奕。
本文來源于:宋文超super溜宽,專屬平臺有csdn、思否(SegmentFault)质帅、 簡書适揉、 開源中國(oschina),轉載請注明出處煤惩。