通过一个月的时间,完成“技术博客园”的开发设计,在该系统开发过程当中,从新领会了软件设计的思想以及软件开发的根本。前端
写此博客进行总结这段时间的得失。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缓存技术。
在接下来,我必定认真安排,使本身的计划圆满完成!