pinpin
发表于 2013-2-19 16:31
并非如此 发表于 2013-2-19 09:35 static/image/common/back.gif
最佳方案
首先,真要想解决这个问题,应该进行数据库重构,用wcf作为数据的独立存储,和逻辑处理层, 至于 ...
这个要赞一下,说得很清楚。最佳方案和次佳方案其实都很费劲,但是最佳方案在结构上清晰很多,publisher/subscriber架构当时公司一个元老级的同事实现过,我看code看的云里雾里,其实要用最佳方案来实现就没有那么复杂,但是有时候没办法,客户不想改变数据库。
媛珊娃娃
发表于 2013-2-19 22:44
今天突击了下WCF,感觉构架并不难,主要工作在服务设置上,当然可能有点分布式系统的知识会对理解这个框架有很大帮助。不过悲催的是,头儿今天告诉我,这个解决方案也要适用我们软件的上一代版本,那个版本运行在xp系统上,只装了.NET 2.0,我们当然不能让客户自己去装3.0后版本。看来要考虑ASP.NET WS 或者 Remoting了。
至于做多长时间才能达到那个高人的水平,因人而异吧。如果你更倾向于做构架的话,多留意各种技术和辅助开发程序,构架方面进步就会很快。而更重视对框架的熟悉度的话,实现程序速度就快很多。个人感觉啊,请不要拍砖。
媛珊娃娃
发表于 2013-2-19 23:07
本帖最后由 媛珊娃娃 于 2013-2-19 23:56 编辑
如果各位童鞋有兴趣技术讨论的话,我又要请教大家了。今天接到另一个任务,就是那个winforms程序(唉,8年开发了3代产品了,而且不是info出身的人写的代码,所以代码有点儿惨不忍睹),公司准备对某些客户做GUI个性化,不过不是什么大的改变,也就是换个logo,改变个颜色等等小变化,大的布局不变。头儿的意思是要一个版本适用所有用户,也就是说,普通用户保持GUI不变,VIP可以在一定范围内定制界面。另外一个比较重要的前提是,我们卖的产品是装了我们软件的电脑,我们可以决定在电脑上装哪个版本的软件,但我们不想为不同的客户做不同的版本,这样会出现维护问题。
我的想法是用xml保存客户要改变的控件名及其属性和值。初始化控件时根据xml数据利用reflection改变控件属性值。
另外我觉得类Visual Studio的property window很有意思,比如说给一个form定义不同的布局状态作为属性,在property window可以改变属性值切换布局。但这个解决方案并不适合,因为即使是VIP,他们也只要求适合他们的布局,而不是动态布局。
大家还有什么好的解决方案,欢迎讨论。
jolinadam
发表于 2013-2-20 12:09
隔行如隔山。。。听起来云里雾里的。。
sbtree
发表于 2013-2-20 12:25
媛珊娃娃 发表于 2013-2-19 23:07 static/image/common/back.gif
如果各位童鞋有兴趣技术讨论的话,我又要请教大家了。今天接到另一个任务,就是那个winforms程序(唉,8年开 ...
只是小的改变而以,web应用的话css基本上就能满足需要了吧
如果是PC应用程序的话,感觉那种换皮肤的功能就够了吧
界面的动态布局和控件的动态载入相对复杂一点,可以考虑创建个个性化配置文件
个人觉得
雪候鸟
发表于 2013-2-20 14:37
并非如此 发表于 2013-2-19 09:35 static/image/common/back.gif
最佳方案
首先,真要想解决这个问题,应该进行数据库重构,用wcf作为数据的独立存储,和逻辑处理层, 至于 ...
我觉得数据同步,如果能够共享数据库是最好的解决方案。其他的代价都太大
雪候鸟
发表于 2013-2-20 14:42
不明白,如果用共享数据库,为什么还用timer? 你要实时通知变化吗
媛珊娃娃
发表于 2013-2-20 15:36
sbtree 发表于 2013-2-20 12:25 static/image/common/back.gif
只是小的改变而以,web应用的话css基本上就能满足需要了吧
如果是PC应用程序的话,感觉那种换皮肤的功能 ...
不是web,刚才仔细看了下客户要求,不同客户可能要不同的控件布局。看来真的需要winforms版的css了。
在codeproject找到了个winforms版的css,不过不知道是不是对所有控件的所有属性支持,不是的话就只能自己扩展这些功能了。我不能发URL,有兴趣的童鞋自己在gongle搜winforms css就马上能找到链接。
媛珊娃娃
发表于 2013-2-20 15:36
雪候鸟 发表于 2013-2-20 14:42 static/image/common/back.gif
不明白,如果用共享数据库,为什么还用timer? 你要实时通知变化吗
共享某些数据,但不共享数据库。
sbtree
发表于 2013-2-20 15:39
雪候鸟 发表于 2013-2-20 14:37 static/image/common/back.gif
我觉得数据同步,如果能够共享数据库是最好的解决方案。其他的代价都太大
同意,数据来源唯一本身就保证了不同应用之间的数据一致性和同步性,在这方面就可以省去不少维护的工作了