一只菜虫写于portal starter kit返工前

 一开始做portal的时候,以为照着书本的逻辑做,应该就可以了。所以,
从一开始,对数据库结构,存储过程进行一次分析理解后。[portal的数据库结构几乎完全是松偶合的结构,这样有利于后期,用户对项目的补充和扩大需求的要求。]
    我就着手于课本的逻辑,从一个一个的用户控件开始,portal的主体包括了10个部分,
没个用户控件,都通过一个相对应的类进行对数据库数据访问,通过一个editxx.aspx页面,实现用户对数据库的操作,而用户控件则是嵌套在主显示页面的一部分。
    一开始,似乎一切都非常顺利,几天内,我就完成了7个用户控件的实现,也慢慢的理解了portal的业务逻辑和实现方法。在周3的时候,我发现了接下来的用户控件都写不下去了,因为涉及到了一些我无法单纯通过控件就能实现的功能,就连最低的要求,执行通过都无法成为可能。
    于是,只能求助于课本,和观察源代码,在一小段时间的停滞后,我以为自己找到了portal的最底层:
    portal是通过xml来实现整个页面的布局和显示的。这一点让我兴奋了很久,接着我就把用户控件的模块停止了下来,从xml开始着手,又一次分析理解后,通过xsl.exe工具生成了基于xsl的类portalCfg.cs,实现对xml结构的定义,然后,照着portal所给的configuration.cs文件,完成调用并修改xml的功能。(在这个过程中,代码量是整个项目里最大,也是最难以理解的,因为之前没有学过,更重要的失败之处是,在完整到运行的整个过程中,我无法通过调用进行测试和修复,这个问题是直接造成我后期决定返工的重要因素)
    在完成了configuration.cs类后,我又重新回到了用户控件的版块,通过重新引用,继承自己些modulecontrols类,基本没什么大问题。但是,在这个时候却突然没有了心思,因为脑子里一直想的是configuration的结构和整个项目的实现逻辑,就这样,我停了下来,半天到一天的情绪不安和思考后,带着问题--portal到底是怎么实现xml的调用和架构的拼状的,我决定先做与这方面有关的版块--页面导航。portal给定了一个动态生成的datalist导航条,通过对xml中tab项的读取,和url项的调用,实现各个页面之间的跳转。我认为这个可以让我迅速的知道,自己的代码能不能够完成功能,所以就决定着手于banner导航版块,在过程中,我有出现了不同的问题,有一些方法不见了。。[这个说法有点白痴,是没有事先定义。]接着,转到定义发现,自己一直的疑问中,有了一些突破:
    在做用户控件的时候,所有的页面几乎都有tabid,tabindex等变量,而且他们的值一开始都是0,都是通过requeset的参数params中赋值的, 而到底从什么地方获得这些不同的参数,我一直查不出来,在通过banner的编辑中,我终于找到了答案,原来,portal在Global.asax文件中,也有添加代码,(对于我这种小菜虫来说,这个Global.asax完全是用来摆设的。。),portal项目在Global.asax中配置了一些整个项目需要用到的缓存参数。几乎所有的settings,一些标志也面的id,index。对线程的操作和url的重定位。
    做到这里,我才真正的了解到了整个portal的实现逻辑。现在看来,事情好象可以一帆风顺的进行下去了。但是,在我调试banner的时候,致命问题一个接一个的出现。所以我不得不一个一个的解决在我解决了能做到的问题后,完全无法胜任的问题出来了,对xml的读取出现了问题--没有定义moduleDefId为key,,我自己解决不了了,所以只好通过覆盖portal的xml源文件测试错误位置,不行,覆盖xsd文件,还是不行,当我把4个配置文件都重新覆盖并调试清楚后,这个问题仍然的不到解决。在整个过程中, 对于xsl和相关类的key的设置,看了好几次,查找了好几次,发现并没有什么问题,而最重要的是,错误并不是出现在banner中,而是之前调试通过了的一个用户控件里。接着,我的vs03出现了问题。。。
    在上面这个经过中,我并没有想过放弃,和返工,但是,在vs出错时候,我突然再次意识到了,我自己的最初目的。项目并不是求快,抄完别人的代码并不是我的成功,我要做的是理解整个项目的实现方法和过程。从portal中,我看到了很多智慧,虽然,这个是2000通过vs2000做出来的,但是,设计者的智慧,在今时今日,仍然在整个项目中,透漏出无法掩饰的光华。
    将这个文章写在返工之前,是为了警醒自己,到底,我要的是什么,到底,我要学的是什么。前面应该还有更多的荆棘,也一定有很多不能一次就跨过去的门槛,但是,每一次跌倒,都必须有他的存在意义。只有肩膀足够强壮,我们才能背负足够沉重的负担。
                                                                一个早起的菜虫,写于早饭前
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值