今天我听了关于软件整体设计的一个讲座,比较有收获,下面我来简单的介绍一下。这个讲座也是关于b/s结构软件设计的,从总体的角度来看总共有三个层面的东西可以进行研究,那就是架构模式,设计模式,代码模式,这三个模式是三个层次上面的东西。
首先来说构架模式,他讲的是一种architecture方面的东西,比如SOA,这就是一种很好的架构层次的模式,不管最后输出的具体东西是什么,那都是一个抽象的东西,可能是日志,可能是网页,也可能是手机上面的短信息,这个输出模块都是相对独立的一个东西。就是一种服务,使用的人不用管很多的东西,只要使用它的服务就可以了。相比较于原来的面向组建的编程,这个东西更加的与平台无关,更加的开放。这样子,服务与服务之间,建立了大量的层次复杂的互相调用的关系,一层一层的就好像我们一般意义上的网络七层协议,这个面向服务不一定七层,没准儿几层。令人期待。问题的关键是怎样定义系统和子系统,以及他们之间的通讯。
设计模式,这个东西就好像在基本的语言和平台确定以后,对于我们怎么开发,怎么构架起类与类之间的关系,这时候设计模式就开始起作用了,没有一个固定的模式一定是对的,只有一定的时候比较适用的那个模式。虽然语言选定了,但是,对于我们来说,类的定义,函数的定义,这里面的学问很大,应该尽可能的简单,同时要保证程序的结构性比较好,易于读懂和易于维护。
代码模式,这个就合语言有比较紧密地联系,我们的代码,什么时候建立一个变量,在哪个地方try,,在那里用if ,之后用if,还使用else if….这些东西都是比较复杂的需要我们一步步地进行总结的。
另外提到的几个观点就是测试先行,一定要对于自己的代码有足够多的测试,说起来容易,但是到最后,人就懒了,不愿意测试了,把测试的任务不管不顾的推到测试人员那里是不负责任的,说到底是对自己的代码不负责。每一个层面的测试,单元测试,一定要认认真真地做,这样我们才能真正的对于比较上层的代码的把握性更强。web网站的entity,logic这些bean的测试比较复杂,难于进行,可是,那也应该按照规范的走。
另外提到的一个东西就是flash,作报告的人说,等到5年之后基于
browse的应用基本机本就已经over了,谁实现一个呢?smart client rich client 都很难说,flash作为一个ui,很好用,action script也足够强大。很有可能有自己的发展。