这一星期过的可真快啊,一直都在忙于框架设计,现在回想起来,不由得感慨连篇!
从未经历过框架设计的我,在体验过框架设计之后,感觉即欣喜又胆怯,欣喜的是自己的想法,可以按照自己多年总结的经验来设计属于自己的框架;胆怯的是不知自己有没有这个实力去把框架搭建好。所以快乐的背后往往要经历困难的考研。
那么在这为期近10天的学习与设计的过程中,不仅深化了我以前想法的概念和想法,还进一步提高了我对于框架的理解和设计的方法,也同时还提高了我技术知识的广度。
记得在一年以前我对框架的认识还比较模糊,虽然感觉自己好像知道什么叫框架,可是在项目开发的领域对于的认识却仅限于纸上谈兵,从来没将框架的理念体现在项目中,做项目就好比搭鸡窝,根本没办法适应用户需求的变更或扩展,做什么项目都是从头做起,次次重复着20%的工作量(增删改),效率低不说,在项目中学习的步伐也有如鹅行鸭步。那么什么才是框架?
框架,是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;是针对开发人员提供的一系列服务和可定制应用的骨架。说白了,就是为了降低开发项目的复杂度,从而节省项目开发成本,包括财力投入、人力要求与投入、开发周期、技术难度等等。因此构成框架的主要因素有:
1. 通用性
框架的一个重要作用就是提高复用率,并不仅仅体现在代码上,小到某一方法属性,大到某一框架的组成模块,因此搭建框架首先要做的一件事就是:抽象。
2. 可配性
使用框架的一个重要目的就是为了灵活,因此在通用性的基础上,就要增加框架的可配置性,更换某一模块或设置,仅通过简单的配置,即可完成。那么搭建框架的下一件要做的事就是:接口和配置文件。
3. 扩展性
既然使用了框架,就要能适应用户需求的变化,或日后的扩展。无论是接口的实现类也好,还是配置文件也好,与抽象对象衔接组合的方式都是框架设计中重要的一环。所以接下来要设计的就是:集成化策略。
4. 使用性
框架最终的使用者不是用户,而是开发人员,一个框架好与不好的最终体现,都在于开发者使用框架的难易程度,易上手的框架,对开发者只需简单的介绍或培训即可,开发者要用到的都应有尽有,开发起项目,就有如拼装东西一样简单。自然框架设计好坏的是由开发者决定的。就好比“实践是检验真理的唯一标准”的道理一样。
所以框架的设计绝非那么简单,也不是那么三言两语,他是久经磨练后的精华,就好比从马克思主义到毛泽东思想到邓小平理论到三个代表等等,一次一次在原有的基础上提炼浓缩,再添加满足需求的新要素。因而一个框架在设计和开发的过程中,可能经常要面临重构甚至推翻重做的局面。
架构师之所以很牛逼,是因为框架对于设计者的要求所致,当设计者将框架设计完成后,其实在他的脑海里就已经把全部项目的代码实现或流程做完了。既然某些项目或开发人员要使用你的框架,那么你事先就必须要考虑到项目需求可能会用到什么,开发人员可能会需要什么。而且优秀的框架设计,还要求设计者要具有对未来技术或业务需求发展走向的预见性和前瞻性等等,所以对于那些牛人架构师,我真是佩服的无底投地。
好啦,感慨就到此了,未来要努力朝着架构师的“官位”发展啊!