转载请注明出处(Cooper的专栏 http://blog.csdn.net/cooper_lyt)
在B/S开发流行的年代里一夜之间所有的开发都转向了B/S,似乎如果开发出的东东不能在浏览器中打开就是落后了,过时了。而在这样的年代里也成就了很多天生就适合开发B/S的开发语言,如C#,JAVA等,而年岁比较大的开发语言和工具就不太适合做此类的开发,是不是这些语言将会被逃汰呢?回答是否定的,例如:C,C++本身就侧重于对系统底层的开发,很难想像用java 和C#写一个硬件的驱动程序或直接控制硬件的程序。而VB因为借了微软的光升级到了VB.net,也可以轻松开发B/S程序,不过这次升级可真是伤筋动骨了,以至于学习新的vb.net还不如学习新的C#。
- Delphi另类多层分布式开发应用COM+和WebServices
在这种方式中使用com+来做数据库逻辑层,WebServices做业务逻辑层,用java或C#来做显示层,这种方式做出来的系统是真正的B/S结构。
使用这种方的好处是,com+直接支持ADO数据库连接池,及数库库事务,并且可以实现分布式.WebServices的通用性使的表示层可以使用任何语言,当然也可以是delphi,不过这样就体现不出是B/S结构的了。
- Delphi三层构架和BPL及Delphi中的MVC
这种方式开发出的系统实际上不是B/S结构的,但是本人认为在一个系统中并不是所有的部分都适合做成B/S结构的,在一个好的系统中最好的方式是B/S和C/S结合来开发,列如工作流,工作流的设计器就是C/S的而运行部分(工作流的引擎)可以是B/S的,当然也可以是C/S的,但是我们为什么要选B/S而不选C/S的呢,你可能会说出B/S的很多优点,但是我相最重要的就是更新程序时只要更新服务器和多层的应用。但是你相过没有C/S就不能做这这些吗?当然可以,虽然方式上不同,也可能也没有B/S那么方便(在客户端不安装任何程序是不可能的),但是c/s也有自已的优点是B/S程序所无法实现的,所在只要在你的系统中找到合适的部分用C/S来开发还是很好的做法。即然选了C/S除非你有什么特别的要求我想Delphi就是不二之选了吧,这里我并不是说Delphi比别的那种语言好,我一直认为语言这东东没有那种更好,只有那种更合适,如果你要做的系统更贴近底层,如硬件的控制、短信平台等还是用C++之类的,虽然用Delphi也能写但是不是很合适原因有很多,例如参考资料、控制方式等。如果你用了Delphi那么你一定不要用那种初学者的开发方式来做Delphi程序了,我见过很多人写的Delphi程序中几乎看不到OOP的影子,结构糟糕,逻辑混乱。请记住Delphi是面向对象的语言,关于这方面有本刘艺的Delphi书籍名子叫《Delphi面向对象编程思想》写的不错大家可以看一下(Delphi的好书实在不多)。
BPL:Borland Project Libary宝兰项目库(不知以后会不会改名叫EPL呵呵),这东东很像DLL,可以说是加入了Delphi信息的DLL文件。如果你注意一下Delphi启动时下面的信息就会发现Delphi启动过程主要就是在加载各个BPL包。我会在以后的文章中仔细说一下BPL包的。
DELPHI的三层构架大家一定不会陌生,这个构架很早就有很多人在用了,不过我发现这东东如果真的把业务逻辑写在应用服务器层中会很不方便,如果你真的要这么做可以参考一下李维老师的书《Delphi5.x分布式多层应用系统篇》(好像还有个电子商务篇,我没看过不知道有什么区别,不过李维老师的书还是真地不错的)在我的应用中我把数据库逻辑放在这层,也就是使用DAO模式。
MVC是一种模式(具体的说应该是架构模式,还有一种叫做设计模式是GOF的名著,有着巨大的影响力,个人认为只要是程序员都应去看一下,原著是用C++语言描述的,因为太有名了所以现在用各种语言描述的版本,不过这种东东和语言关系不大,只要是OOP语言都一样,Delphi描述的设计模式有本陈省写的《Delphi深度探索》描述的不错,本人建义来是看原著来的直接,被传达总会有细节的丢失)。上面提到要把业务逻辑放到客户端,为了与显示逻辑和系统逻辑解耦所以使用MVC模式。具体的做法会在以后的文章中详细说明。
转载请注明出处(Cooper的专栏 http://blog.csdn.net/cooper_lyt)