随笔分类 - 技术人生
扩展表设计
摘要:扩展表的实质就是用数据表的形式来存储和表现数据表。一般的数据表有行(数据)有列(结构),而扩展表的功能就是存储列和行。也就是说,根据扩展表里的内容,我们可以搭建出若干张数据表。从外观上看,用户只是在对一些很基础的数据表进行增删改的操作。而实际上,我们是把用户对表的定义、对表结构的修改、对表内数据的修改都做到扩展表中。这样做的用处是,在一些数据库表的格式已经定义完毕后,如果需求变更(比如要添加列,但...
阅读全文
客户端回调
摘要:Client Callback 是ASP.NET 2.0新增的一个特性。简单的说,就是在不刷新页面的情况下,用javascript向服务器端传递参数、调用服务器端的方法、并且得到服务器端的返回值进行处理。 1> Why Client Callback HTTP是无状态的协议。在HTTP协议之上开发的项目,常常需要从客户端调用服务器端的方法、执行服务器端的代码、从服务器端获取数据。这些...
阅读全文
近期的任务
摘要:1、Test Driven Development2、Javascript3、Duwamish4、Applied Microsoft .Net Framework Programming5、.Net Layed Development (N-Tier)6、Together
阅读全文
TDD 心得
摘要:一直觉得,近年来,真正有意义的技术或者思想只有两个:Refactor(重构)和TDD(Test Driven Development,测试驱动开发)。有趣的是,这两个都是从SmallTalk流传出来的。单元测试的重要性自不必提。今天和大家分享一下在学习TDD中感受到的几点心得。1、先写测试,后实现代码 We are thinking about how the class and its met...
阅读全文
对象的效率
摘要:面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也违背了封装的原则,基类的内容通过子类的继承被暴露出来。对象的封装其实破坏了一种关联关系的整体性,同时过多的get和set方法也实在是浪费时间和增加代价。而方法的多态型表述所带来的可能的混乱不比其带来的方便少多少。因此,在C++以后的OO语言里,不论是Java还是C#,包括他们的编译器,都在这些方面做了一些改进。在面向对象的开发过程中,是...
阅读全文
模型或模式
摘要:不论是吵吵嚷嚷的软件工程、XP建模,还是死灰复燃的MDA、一心统一的UML,软件领域越来越多的新名词似乎展现着软件开发繁华的现状,或者是预示着软件开发光辉的未来。可是在实际的开发中,任何的理论都是力不从心。典型的例子,就是越到开发后期,越发现程序的现状偏离初始的设计。作为一种本身不可控的开发项目,我们没有什么很好的办法对它进行有效的控制和管理。当然我们可以用包括Together在内的一些很好的工具...
阅读全文
开发的效率
摘要:面对多人协同开发的分层系统,有两种开发方式:其一、一人负责一到多个模块,跨越各层,一写到底。其二、每人负责一层,只作横向开发,负责各个模块在本层的实现。两种开发方式哪一个会更高效呢?从工程化的角度而言,作同样的事情自然会效率更高。因此第二种开发方式显然会更有效率,但是恐怕没有人愿意这样开发。原因很简单:没有人喜欢每天作同样的事情。因此包括公司里采取的都是第一种开发方式。其实第一种开发方式有很多弊端...
阅读全文
统一的困惑
摘要:RUP(Rational统一过程)的基本开发方式是迭代。需求迭代、分析迭代、设计迭代、测试迭代……甚至可以一边开发一边迭代来更新的需求。不知道这样的设计得是什么水平才能适应这样恐怖的需求变更。可就是这样的开发过程却号称为适应于“大规模、需求多变”的项目,真是太……某种意义上说,倒还不如严格线性的开发过程呢:需求、分析、设计、建模、编码、测试、……统一过程,统一出的困惑。听说PHP5 终于Relea...
阅读全文
选择的未来
摘要:先提一个问题:做一个技术员,技术能力重要还是业务知识重要?再提一个问题:做一个技术员,将来的发展是选择系统分析师还是项目经理?最后一个问题:软件开发的工程化模式真的有前途么?还是要回归到工匠、汽车修理工、技师的经验之旅上呢?直到现在,我也不支持软件工程。软件开发作为一种创新性的劳动,是完全不可控的,也不可能像土木建设一样进行纯粹的工程化管理的。最基础的一点,软件的设计、工期的确定都是很模糊的。谁能...
阅读全文
浙公网安备 33010602011771号