首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

考验一下子你的设计能力

2013-03-26 
考验一下你的设计能力在写DirectUI时有这么一个需求,就是加载一串XML,如何生成一棵对应的控件树?比如XML如

考验一下你的设计能力
在写DirectUI时有这么一个需求,就是加载一串XML,如何生成一棵对应的控件树?

比如XML如下:

<panel>

       <button id=”1” text=”button”/>

<label id=”2” text=”label”/>

      <panel>

            <label id=”3” text=”good”/>

        </panel>

</panel>



如何生成对应的Control Tree?

这是我的个人解答:http://www.cppblog.com/weiym/archive/2012/06/10/178319.html
你有更好的设计思路吗?
[解决办法]
XML DOM本身就是树,深度遍历一颗树的过程不就是构造一颗树的过程吗?
[解决办法]
引用:
在写DirectUI时有这么一个需求,就是加载一串XML,如何生成一棵对应的控件树?

比如XML如下:
XML code
<panel>

       <button id=”1” text=”button”/>

<label id=”2” text=”label”/>

      <panel>

            <label id=”3” text=”good”/>

……


组合模式
[解决办法]
说实话,很多时候强调设计的后果就是过度设计,我们现在的项目就是没考虑了太多的需求,考虑了太多的扩展性,多进程多线程多机器分布式运行都考虑到了……这导致设计实现中需要考虑的麻烦非常多,而我们最后实际上的系统却只有单进程单服务器……

由此惨痛经历,看到“扩展性”几个字就觉得是在忽悠……


[解决办法]
unix 编程艺术:

摘录:

计算机编程的本质就是控制复杂度。排错占用了大部分的开发时间,弄出一个拿得出手的可用系统,通常与其说出自才华横溢的设计结果,还不如说是跌跌撞撞的结果

.......第四代编程语言,面向对象,以及软件开发的方法论,不计其数的解决之道被抛售者吹得神乎其神。但实际上这些用处都不大,原因恰恰在于它们“成功”的将程序的复杂度提升到了人脑几乎不能处理的地步。





来自多方面的压力常常会让程序变得复杂(由此代价更高,bug更多),其中一种压力就是来自技术上的虚荣心理。 程序员们都很聪明,常常以能玩转复杂 东西和耍弄抽象概念的能力为傲,这一点也无可厚非。但正因如此,他们常常会与同行们比试,看看谁能够鼓捣出最错综复杂的美妙事物。正如我们经常所见,他们的设计能力大大超出他们的实现和排错能力,结果便是代价高昂的废品。
[解决办法]
引用:
unix 编程艺术:

摘录:

计算机编程的本质就是控制复杂度。排错占用了大部分的开发时间,弄出一个拿得出手的可用系统,通常与其说出自才华横溢的设计结果,还不如说是跌跌撞撞的结果

.......第四代编程语言,面向对象,以及软件开发的方法论,不计其数的解决之道被抛售者吹得神乎其神。但实际上这些用处都不大,原因恰恰在于它们“成功”的将程序的复杂度提升到了人脑几乎不能处理的地步。
……
直白。

热点排行