通過一個月的時間,完成「技術博客園」的開發設計,在該系統開發過程當中,從新領會了軟件設計的思想以及軟件開發的根本。前端
寫此博客進行總結這段時間的得失。node
技術博客園Github連接:技術博客園
python
技術博客園演示網站:技術博客園演示網址ios
一、技術總結,回顧過去git
技術博客園系統設計總結:數據庫
本系統的開發,使用了BAT公司的技術解決方案,同時伴以Spring、Spring MVC和Mybatis等框架的使用,促使了本系統的快速開發。編程
在本系統的設計過程當中,主要按照如下步驟進行的設計:swift
一、首先進行了需求分析,並編寫了相應的功能技術文檔,以備後續開發工做進行時使用;二、 其次,針對相應的需求,進行UI草圖的設計,並仔細斟酌頁面佈局和元素的設計;三、而後,根據草圖進行系統功能性模塊以及系統中流動交互數據Bean的設計,在整個系統的不斷迭代設計後,最終敲定了前端界面及其分割碎片、後臺功能模塊Controller的設計以及與數據庫相對應的基本數據類Bean的設計;四、 接下來,才進行數據類Bean到數據庫表的映射,設計出來完備穩定的數據庫;五、最後,進行的Controller控制層的詳細設計與實現。設計期間,考慮到了系統的功能性的共用,以及設計模式(代理模式、事件-訂閱模式等)的運用,真正領悟到了軟件設計的核心,而再也不是簡簡單單的遵循以往的前端界面設計、數據庫設計、編寫開發後臺代碼的長久不變的設計思想。後端
在本系統開發過程當中,遇到了前端界面開發框架jQuery EasyUI的技術性問題,好比頁面元素顯示佈局錯亂,與設計不符的現象,最終經過檢測調試,發現是該框架最新版本中移除了原始設計策略的緣故,成功解決該問題。其次,深入體會到了Spring設計的優秀所在,不只僅是最小注入式開發以及管理Controller和Service服務層API,同時把設計模式和軟件體系結構進行了完美運用,這些使我領會到,大學所學知識並不是全無用處,而是我忽略了它的真正價值。設計模式
在本系統開發完成後,進行項目總結時,發現咱們老是過多的在乎於開發某個項目所使用的技術,而忽略了軟件設計的過程,從而使得開發的系統每每難以維護甚至稍做改動全盤皆輸。其次,長期凌駕於開發框架的運用,雖然縮短了開發週期,可是,卻讓咱們距離技術核心愈來愈遠,最終連簡單的實現一個List類、重寫一個User類的hashcode和equals方法,甚至連在一個類內部經過多線程實現生產者與消費者程序都無從下手,這並非咱們想要看到的。
經過本系統的開發,讓我領悟到萬變不離其宗。做爲軟件開發人員,對咱們來講,重要的不只僅是技術,還有思想以及概念的看法深度。
注:博主當下是個即將畢業的大四學生(軟件工程專業)。
二、17計劃,展望將來
2016年,接觸到不少新技術,也參與過不少項目,同時也在鍛鍊中不斷成長。曾忙碌於「物理仿真實驗系統」的flash動畫的設計;也沉醉於node.js的迷人之處;也表現過對學習ios和swift的忠貞;還小試過作機器學習實戰的python以及大數據的scala面向函數編程。然而,走走轉轉,周而復始,最終仍是回到了Java Web開發,難捨難分。可是,再也不是以往的思想進行開發,而是轉換了一種思路,也許是見得多了,思路也就開闊了吧。因而,開始了勿忘初衷,從新審視了以往的單頁Web開發技術,JavaScript的面向函數/面向對象編程,以及事件-訂閱設計模式的貫穿。我很欣慰,在2016年的最後一個多月裏,有個人好朋友——小黃毛的陪同,一塊兒學習深造至今仍未離校。
針對即將到來的2017年,也是個人畢業年,我想,我再也不須要這麼的專門花大把大把的時間在技術的修煉上,我須要作的是把設計思想以及當下會的技術進行更深層次的融合、煉化,最終在靈活運用的基礎上,可以達到捨我其誰!接下來,我要在保證外在技術的基礎上,專一修煉內功,穩固基礎,熟練掌握先後端整個設計、開發過程的融合。
畢業前計劃:
一、在畢業前可以再次圓滿完成一個更加符合軟件設計思想的上線項目;
二、可以把設計模式以及軟件體系結構靈活自如的貫穿在Java、JavaScript這些先後端開發技術中;
三、加強自我前端審美,使本身的前端UI設計更加美觀符合UX;
四、熟練掌握Spring、Spring MVC、Mybatis、Struts2開發框架;
五、自如融合單頁Web應用中JavaScript代碼和Vue.js框架;
六、從Mac OSX開發平臺逐步轉至Linux開發平臺;
七、學習Redis緩存技術。
在接下來,我必定認真安排,使本身的計劃圓滿完成!