軟件開發(fā)實習(xí)日志日記_第1頁
軟件開發(fā)實習(xí)日志日記_第2頁
軟件開發(fā)實習(xí)日志日記_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Daily work 1第一次是來面試, 當(dāng)時感覺不怎么好, 面試的人問了一些問題有些沒回答上來, 這并不 奇 怪,C#自己學(xué)習(xí)了 2個月,然后就沒怎么用,回答不上我覺得可以理解。沒想到還能第二次來到公司, 由于對環(huán)境還比較陌生, 所以今天大概熟悉了一點, 成都這邊有 50 多個員工, 屬 于研發(fā)中心, 主要從事無線微波得較大型的設(shè)備的再加工, 聽同事說以前在北京, 但由于 北京人 力資源太貴所以來到成都, 這聽起來怎么像是在壓榨的感覺啊, 沒關(guān)系, 只是來實習(xí) 而已。對于今天的第一個小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺

2、都得到了加強,此外在實現(xiàn)過程中對用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實現(xiàn)。Daily work 2 今天對昨天的實例進行了改進和提高,將堆 排序和冒泡排序封裝在一個動態(tài)鏈接庫中, 提供函數(shù)調(diào)用和事件委托。此外加入 XML 進行配置,在 XML 中存入相關(guān)配置信息,提供一個 單獨的 XmlClass 對其進行操作,加深了對 xml 的理解。為增 加程序的性能,采用簡單工廠 模式對其客戶端和算法操作進行分離,有很好的可擴展性,對于C#的動態(tài)鏈接庫和 XML 配 置不怎么熟悉, 花了很長一段時間看書和網(wǎng)上查資料, 才開始動手寫代碼, 不過感覺還是很 快, 因為自己有編程的能力,可以

3、說掌握了一種快速編程的方法,所以就能駕輕就熟。Dailywork 3 今天采用抽象工廠模式對實例進行改進, 以 達到動態(tài)加載算法實例, 抽象工廠模式屬于 設(shè)計模式中的內(nèi)容, 自己在學(xué)習(xí)視頻的時候注意到了, 所以之前就買了本大話設(shè)計模式來學(xué) 習(xí),可以說了解了大部分設(shè)計模式。 今天遇到后自己心里也有 底, 溫故一下書就知道怎么做 了,可以說這是我學(xué)習(xí)的方法。針對以上, 在 dll 中提供一個接口, 兩個算法都繼承了該接口, 對于該 dll 的操作都通 過接 口 ISort 進行,此外,修改工廠為抽象工廠,提供一個接口創(chuàng)建算法,在算法中返回ISort 實例,在主函數(shù)中使用該實例進行對應(yīng)的排序算法操作

4、, 充分顯示了抽象工廠的作用, 本例子將反射和抽象工 廠模式結(jié)合,增加了程序的可擴展性和可維護性。Dailywork4 由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開始做一些這次項目的東 西,說了一句“我可是沒把你當(dāng)實習(xí)生哦。”,這話一聽當(dāng)時感覺還好,不過后來一想,我卻 是吃虧了,他不把我當(dāng)實習(xí)生但給我的卻是實習(xí)生工資,這點 有點想不過去,不過沒關(guān)系, 實習(xí)嘛就是學(xué)習(xí),有基本工資也不錯了,關(guān)鍵的公司提供的條件那是在 學(xué)校里所得不到的: 商業(yè)性的問題。今天將上述實例的方法用到本次項目中, 開始項目中的一些任務(wù)。 仍然使用抽象工廠模 式, 將自定義窗體封裝到類庫中,將窗體的控件預(yù)留到外部

5、進行實施定義;在 XML 文件中配置窗體的實際參數(shù),利用反射按從 XML 中讀出的參數(shù)動態(tài)加載窗體。將上述的實例方法運用到了實際項目中。Dailywork5 昨天的任務(wù)基本已完成, 今天溫習(xí)了一下加 深了對知識的理解, 可以說掌握得比較牢固 了,今天又有新的任務(wù),可以說每天都在進步。按組長要求編寫 RankStyle=Group 時的窗體排列方式,在 XML 中配置控件或窗體的參數(shù), 利用 XML 讀接口從 XML 中讀出參數(shù),為了使程序具有靈活性, 在組長的提示下將窗體的配置 按照窗體 的 Name 屬性進行配置 ,之前是利用字段的方式寫在 XML 中,但是組長說這樣的話在 程序中查找不 方

6、便, 可我覺得沒什么啊, 當(dāng)然了, 對于我這個沒有工作經(jīng)驗的人來說看什么 都是可以的,所以 要多學(xué)習(xí)學(xué)習(xí)。在 FormControl 中利用雙層循環(huán)將控件容器中的控件按Name 與讀出的配置進行匹配,如果在 XML 中配置了該窗體,就設(shè)置該窗體的一些屬性。個 人感覺實現(xiàn)了該功能吧,最后經(jīng)過組長看了一下審核基本通過。要求:根據(jù) Group ,從 XML 中讀取控件配置信息,動態(tài)設(shè)置控件在主窗體中的顯示。Dailywork6 每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將 DLL 中的控件更換成窗體, 方法仍然采用反射 + 抽象工廠模式。雖然自己有一定編程經(jīng)驗, 但是遇到問題是不可避免的,

7、今天在編寫過程中遇到了一個 問 題,就是當(dāng)窗體接口和窗體類庫放在一起的時候, 在工廠中創(chuàng)建的實例無法裝換成接口類 型,經(jīng)過 多次測試和上網(wǎng)查閱相關(guān)資料, 發(fā)現(xiàn)控件類實現(xiàn)接口, 不能將接口放在同一個類庫 中,針對以上問 題在網(wǎng)上查閱相關(guān)資料, 結(jié)果還是沒有相同的主題,沒辦法,只有硬著頭皮 在網(wǎng)上找, 沒有主題就 找有沒有相關(guān)的例子, 結(jié)果還是沒有, 差點就無語了,突然看到有類 似方法的一個例子, 真是柳 暗花明又一村啊, 仔細看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所 以調(diào)了一下結(jié)構(gòu), 一編譯果然痛過 了, 就是將兩個類庫分離, 再在接口中加入工廠便可創(chuàng)建 實例并轉(zhuǎn)換成接口。 在主窗體中只需要 引用該

8、接口類庫便可達到要求, 使程序耦合性降低了。Dailywork7由于黎甫對 DLL 的要求發(fā)生變化,今天就不斷修正 DLL 程序,并驗收,再結(jié)合 Group 的窗口排列方式對 DLL 中的窗體進行測試。 我現(xiàn)在才明白,編寫代碼是一件很容易的事, 但 是編寫好的代碼卻是很難的事情, 好的代碼要有可維護性、 可擴展性, 這樣在修改的話就很 簡 單, 可不能像我昨天寫得代碼,根本談不上藝術(shù),所以一旦面對客戶的要求,改動就很困 難,這一 點值得我繼續(xù)學(xué)習(xí)。至于可擴展性也是對維護的擴充, 因為顧客的要求有可能隨時都在改變, 我們也得適應(yīng) 客戶 的要求,如果軟件有了可擴展性,那么它的改動就比較小,就能適應(yīng)

9、顧客的要求。 所有 上面說的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開發(fā)中才能游刃有余,應(yīng)對自如。Dailywork8回顧前幾天所做的練習(xí), 對遇到的問題進行解決, 在網(wǎng)上查閱相關(guān)資料獨立解決, 并對 之前 的一些項目練習(xí)做好備份。 將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍, 形成了固定 的模式,以 便在今后可以快速的使用。Dailywork9今天算是正式開始做公司的項目, 上午黎甫和秦陽在會議室給我講解了項目的一些功能 并進行 討論, 大致理解了項目后, 分配了自己的一部分任務(wù), 整理過后在多次與秦陽的溝通 請教下明白 了自己的任務(wù),下午秦陽建好 VSS 我拷貝項目進行框架整合和測試。在編

10、寫代碼的過程中也涉及了一些問題,通過看 MSDN 和上論壇,基本得到解決,同時 也了解了一些 C# 其它的相關(guān)知識。Dailywork10今天繼續(xù)昨天的任務(wù), 做一個小測試, 將現(xiàn)今做的項目所有代碼進行整合測試, 測試要 求是 在數(shù)據(jù)庫中配置菜單項, 動態(tài)添加幾項菜單項, 在不同點擊下動態(tài)從 DLL 中加載窗體讀 取配置文 件進行排列,順利完成。要求: 抽象接口,并繼承; XM L 中命名空間和類名不要設(shè)置成結(jié)點,設(shè)置成屬性。封裝算法到 DLL ;在 FirstWork 中使用 XML 配置;建立一個 XMLclass 進行操作;建立 一個中 間工廠類用反射在類庫中查找響應(yīng)算法;事件和委托。接

11、口 .XML 中結(jié)點:程序集名稱;命名空間 .類名;接口名稱;加載的時候轉(zhuǎn)化為接口;XML 中增加一個結(jié)點用來存儲客戶端關(guān)于算法的選擇,按選擇動態(tài)改變其值,然后算法中讀取該值進行排序選擇。為解決的問題:在一個工具條上配置多個工具,并添加事件,好像數(shù)據(jù)庫不能實現(xiàn)。0K 了 !Dailywork 11同步多線程方式實現(xiàn) Tcp/Ip 發(fā)送。Dailywork 12多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶端是否斷開連接;UDP 服務(wù)器與客戶端握手,以及連接,數(shù)據(jù)報Dailywork13Dailywork14Windows 服務(wù)項目了解Dailywork15解決 Udp 局域網(wǎng)內(nèi)廣播方式通信。Dailywork16數(shù)據(jù)庫導(dǎo)出到 XML 填充已設(shè)置菜單及工具欄結(jié)構(gòu), 返回上層,在工廠中添加 XML 配置文件, 選擇是從數(shù)據(jù)庫還是 XML 中讀取。1、 首先把數(shù)據(jù)庫轉(zhuǎn)化為 XML2、 研究如何和調(diào)用數(shù)據(jù)庫的接口結(jié)合3 、 設(shè)計 XML 操作工程4 、 工廠更改與設(shè)計Site) 定義為接口中的ReadMenuInfo.cs 中 public MenuItemInfoNode ReadInfo( string 函數(shù)or tb_MenuID= ' 可能的 Xpath: /Root/ItemWndId=選取所有 bookstore 元素中 price 元素的值小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論