对于UML,其实一直很向往。在大学的时候,只是听说过,但没有学。在这里又有机会自己学了,还是挺兴奋的。UML对于我们学习面向对象的开发有着不可磨灭的功劳。UML 中一共有 5类(9种)图,包括用例图、静态图(类图(包图)、对象图)、行为图(状态图、活动图)、交互图(时序图、协作图)、实现图(组件图、部署图)。请看我眼中的UML《 UML之图情结 》(2011-10-02)。其实通常我们通过Rose工具只画出的常用的UML图(用例图、类图(包图)、时序图、活动图、部署图)。通过正向工程将图导出基本代码框架,然后供各层的程序员同步开发。
其实在学习UML中,就有感觉软件工程中的图于UML图由冲突或类似之处。比如说软工中的数据流图跟UML中 的时序图有些类似,而UML图中的活动图可以说跟软工中的流程图一模一样。在写《UML之图情结》前,现将软工中的图辨别了一番《 软件工程中的图情结 》(2011-10-02)。
C#已入手,就感觉特舒服。感觉C#的语法更符合人的思维逻辑。由于在VB6时,已经对编程语言的架构有了整体把握,所以学习C#时,感觉很顺手,也很快。许多东西都是相同的,只是稍微有点区别罢了。再加上后面的大话设计模式也是用C#实现的,还有后面的新闻发布系统也要用C#实现,对于C#,没有什么可担心的。现在只是看,做笔记,敲一些简单的代码,后面的项目会给自己增加C#的代码量的,亲和力不用担心。
设计模式,一直被传说着,这次终于要见识一番了,老听说设计模式多么多么的好,这次接触,才知道能明白它真的很厉害。设计模式的六大原则,是设计模式的根本。各式各样的设计模式,都是围绕着这六大原则而扩展的。因为这些原则,才是使得代码复用,因为代码复用,所以灵活,因为灵活,所以易维护。设计模式主要针对于面向对象来说的。所以设计模式也是从对象入手来创造出各种模式来。它们分别从“对象的创建”、“对象结合的结构”、“对象的交互”方面入手,而设计的3类设计模式——创建型模式、结构型模式、行为型模式。初次接触设计模式,还没有实战的机会,不过接下来的机房收费系统会提供这个“战场”。先小结了一下:《设计模式之设计原则》(2011-11-03)、《设计模式之创建型模式》(2011-11-03)、《设计模式之结构型模式》(2011-11-05)、《设计模式之行为型模式》(2011-11-07)。
这次VB.NET的学习,讲了很少的例子,不过这门语言的结构倒是都讲到了。讲的多的则是.net的一些机制。比较难懂。做了做笔记。没什么可说的,揭过。
设计模式暂告一段,开始进军另一个重要的“领域”——分层与MVC。这个的学习资料是看csdn上、博客园、网易等等博客或论坛里的文章或帖子。只是浅浅的知晓一二,没有实践是很难体会其中的奥妙的。当时参考网上的说法,发表了一下自己对分层和MVC的认识《初识MVC与三层架构》(2011-11-08)。不过做完了机房收费系统对这两个概念也有了新的认识:在我看来分层专注的是系统的架构,看怎么设计架构更为合理,更适合扩展和维护;而MVC专注的则是对系统的控制。哪些该想用户显示,哪些是底层,然后用什么来连接,来控制。当然,它们两个都是对系统的扩展,只是分层是在系统架构方面做的扩展,而MVC则是在对象的创建、结合的结构及交互方面而做的扩展。所以也可以说MVC是一种特殊的分层,同时也是一种综合型的设计模式。
现在做的还是三层,很难体会到MVC的真正内涵,不过接下来的B/S学习,会对MVC有深刻的学习。
对分层和MVC简单了解后,开始利用分层来实现登录实例来加深对前面知识的理解。先分析系统,用Rose画UML图。每种图都画了。加入了设计模式,光系统的架构就推敲了3天。图画完后,开始用C#实现。前前后后用了一个星期。从磕磕绊绊的这一星期,锻炼了Rose画图(以前画的图看都不想看),C#也进一步熟悉,抽象工厂+反射+配置文件也了解了,最主要的是对分层在程序上的实现迈出了关键的一步。后来才想起来机房收费系统要用VB.NET做,所以又用VB.NET做了一遍登录实例。VB.NET与C#在语法上还是有些不同的,一些易混淆的地方也比较了一番,对2种语言操作都又张进了一步。由于登录只是对数据库的查询,所以后来又做了添加、删除、更新的实例。对数据库的操作已经OK了,剩下的就要开始真正的VB.NET的机房收费系统开发了。
终于开始着手VB.NET了,我是在登录实例上进行扩展的。重新分析系统,画图,考虑设计模式,完善文档,这些步骤用了20天的时间。光画图就用了差不多半个月。不断的纠结,不断的修改,不断的重画,不断的提高。由于时序图没有画好,在B层的逻辑控制上,花费了很长的时间。当然在这过程中也有取巧的地方。找了个可以直接将数据库的表导出为实体类(VB.NET)的工具,不过由于设计的缺陷,实体类改了好几次,原先生成的都被改过了。还找了个C#转VB.NET的工具,由于C#接触的比较多点,有些用C#能实现,但VB.NET不知道怎么写,就用这个工具转换一下,对于那些不懂的,就百度一下。这个系统算是学习.NET以来第一个面向对象的系统。对分层、uml图、设计模式、面向对象及vb.net语言都是一个记好的消化融合剂,将这些融合在一块,配合起来一块学习,一块锻炼,一块掌握。当然问题肯定是有的,还是要总结了一下的:《VB.NET机房收费系统总结》(2011-12-31)。
说到了最近的合作开发,合作,软件开发的正道。没有一块大型系统是由一个人短期内独自开发的。合作开发可以节省大量的时间,而时间则意味着市场,意味着你比别人更多的机遇。合作的经历就不多说了,都在《谈谈我们的合作开发》里了(2012-02-03 )。通过这次合作,培养了大家的合作意识,当时每天在讨论组里讨论,复杂的问题时不时得开个会讨论,交流能力也在无形中提升。通过讨论,通过对比自己和团队其他成员对业务的分析和理解,在业务上面大家也都在提升着。在开发过程中,会发现每个人都有一些自己不知道的神奇的小技巧,所以你会学到很多。
也说说YH的维护吧。从11年10月7号开始,到今天(12年2月7号),整整4个月的时间了。有形的知识学习了不少,也记下来不少。《YH等各种维护收获》,无形的收获更多,当然收获也是不少的 《各种维护给我带来的财富》(2011-12-07)。
在这段学习中,有甘有苦,但不论是甘和苦,都是记录着我的成长。选择了提高班,比别人多花3-4年的时间,就是《与未来博弈》(2011-10-02)。在带领九期展开一系列活动后,也发表了自己的《一点点感想》(2011-11-22),肯定一下自己的成长,同时也给九期的师弟师妹们学习的信心。在即将到2012年的前1个小时,大致回想了自己2011年的经历,《告别我的2011》(2011-12-31),学习很充实,也很快乐。
附:
2011暑假小结2011-08-26 16:27
软件工程(14部分导图)2011-09-11
与未来博弈2011-10-02 00:09
软件工程中的图情结2011-10-02 10:20
UML之图情结2011-10-02 22:32
设计模式之设计原则2011-11-03 17:19
设计模式之创建型模式2011-11-0323:19
设计模式之创建型模式2011-11-05 00:32
设计模式之行为型模式2011-11-07 16:21
初识MVC与三层架构2011-11-08 15:02
各种维护给我带来的财富2011-12-07 11:12
一点点感想2011-11-22 23:38
告别我的20112011-12-31 23:58
VB.NET机房收费系统总结2011-12-31 16:19
谈谈我们的合作开发2012-02-03 10:28