设计模式在软件应用系统开发中的实战参考
2011-01-09 22:31 通用C#系统架构 阅读(3560) 评论(30) 编辑 收藏 举报 晚上在武汉飞往杭州的飞机上感觉有些无聊,这次总算是见到一位美女空姐了,的确很漂亮看着赏心悦目,无聊了就写一篇博客到杭州家里发布上去,就写一篇设计模式在实际应用系统开发中的例子。
其实真正能看懂设计模式并熟练应用设计模式并不是一件很容易的事情,因为大部分的日常开发工作不集合设计陌生等都可以达到目的。
当有一些特殊需要时,若不采用设计模式的思想,的确是比较难实现或者及时实现了代码也会非常臃肿,甚至让人不好理解阅读。
假设我们有一个客户端程序需要有多种运行模式的兼容支持,而且只需要写一份程序,而不是针对不同的发布模式写不同的客户端代码,毕竟同时维护4套客户端程序是要命的事情若能写一套客户端程序是最理想的。
例如一个角色的添加功能,可能是直接添加到数据库、也可能是通过WCF、Remoting、WebService等途径服务器、客户端彻底分离的发布模式运行。
其实写这样的程序纯粹是为了玩技术,真实真正客户很少需要能这么灵活部署的软件系统,写这样能灵活部署的程序完全也是为了将来工作上的需要,把一个良好的架构稳定好了,当有客户需要时可以马上演示给客户,更容易得到成功、在激烈的竞争更容易获胜。
程序只需要配置Config.xml中的<add key="ServicePath" value="DotNet.Service"/>参数就可以了,例如修改为DotNet.WCFClient、DotNet.RemotingClient 就平滑的切换了当前软件的运行模式了,其他程序都不用修改。
下图可以理解为设计模式中的 工厂模式、可以自由选择零件,每个零件能实现的功能都一样。有4个通道可以任选一个。
机会往往是属于有准备的人,若想将来得到成功就需要每天努力多一点点,在未来的10年里软件行业都会是充满机会的行业,选择软件行业不会有错,但是要做个能独挡一面的软件人才才可以。