2012年1月20日

模块架构不是软件成功的“决定因素”

摘要: 与公司中的非技术人员关于架构的设计、架构演进方面的PK文章。 阅读全文

posted @ 2012-01-20 17:29 深蓝医生 阅读(538) 评论(0) 推荐(1) 编辑

书读百篇,其义自现

摘要: “演绎推理”和“归纳推理”这两种思维方式是大脑重要的“思维模式”(用模式这个词可能更符合软件技术人员的口味),而它就像是金字塔的不同视角. 阅读全文

posted @ 2012-01-20 17:13 深蓝医生 阅读(624) 评论(0) 推荐(0) 编辑

卓越软件工程--《微软360度》读后感

摘要: 一篇对技术性质的公司发展战略的探讨性文章,论述了“技工贸”和“贸工技”两种模式的异同点。 阅读全文

posted @ 2012-01-20 17:12 深蓝医生 阅读(503) 评论(0) 推荐(0) 编辑

C#中?与??的区别

摘要: 起初我也不知道C#中有??操作符,今天张鹏在查看我的MVC示例程序的时候问了这个问题,检查代码后发现,下面的代码是VS2010在生成MVC应用程序自己添加的: public AccountMembershipService(MembershipProvider provider) { _provider = provider ?? Membership.Provider; }起初我猜想这个??操作符的意思可能跟下面的语句类似:foreach(...);循环块中没有任何内容,所以猜测??跟此类似,表示什么都不用处理,也就是说??前的表达式为真,什么都不用处理,反之才需要处理??后的内容。张鹏Ba 阅读全文

posted @ 2012-01-20 17:10 深蓝医生 阅读(365) 评论(0) 推荐(0) 编辑

浅议“全局变量”、“多线程”和“编译器陷阱”

摘要: 今天偶然看到一段代码,也看到了作者对此的说明,觉得很有意思:public event EventHandler Started;protected virtual void OnStarted(EventArgs e){ EventHandler handler = Started; if (handler != null) { handler(null, e); }} 为什么要申明一个全局的事件变量 Started?一开始我也觉得很多余,后来听作者说这段代码可以用到多线程中,有可能正在判断事件变量Started的时候,它有可能被另外的一个线程给改变了,这里引入一个局部变量 handler,可 阅读全文

posted @ 2012-01-20 17:09 深蓝医生 阅读(694) 评论(0) 推荐(0) 编辑

微软没有公开的游标分页

摘要: 转发的,原文地址在 http://87cool.spaces.live.com/blog/cns!C961D7041DDB28DA!269.entryCREATEprocedurep_qcd_Paginationcursor@sqlnvarchar(4000),--要执行的sql语句@currentpageint=1,--要显示的页码@pagesizeint=10,--每页的大小@pagecountint=0out,--总页数@recordCountint=0out--总记录数assetnocountondeclare@cursorint--cursor是游标的iddeclare@timedi 阅读全文

posted @ 2012-01-20 17:06 深蓝医生 阅读(374) 评论(0) 推荐(1) 编辑

为VS2010默认模板添加版权信息

摘要: 通过以下方式可以自定义CS类文件代码模板(以下为VS2010,VS2008类似):1,打开VS的安装目录,例如 D:\ProgramFiles\MicrosoftVisualStudio10.0\Common7\IDE\ItemTemplates\CSharp\Code\2052 2,打开文件 Class.zip,找到文件 Class.cs,在文件头部加上下面的内容:#region<<版本注释>>/**========================================================================*Copyright(c) 阅读全文

posted @ 2012-01-20 17:04 深蓝医生 阅读(798) 评论(0) 推荐(1) 编辑

VS2008连接CodePlex的源代码管理服务

摘要: 为了更有效的分享部门的.NET代码,我们决定把一些通用的组件源代码通过CodePlex来托管。CodePlex是MS提供的一个第三方源代码托管服务和开源项目管理网站,只要注册了CodePlex用户或者有LiveID,即可使用。目前,VS2010能够非常轻松的连接到CodePlex的TFS,但是VS2008却有点问题,需要经过以下步骤来连接:1,先看看有关VS2005、2008连接TFS注意事项的内容:http://codeplex.codeplex.com/wikipage?title=Connect%20to%20TFS%20with%20Team%20Explorer%202008%20o 阅读全文

posted @ 2012-01-20 17:03 深蓝医生 阅读(907) 评论(0) 推荐(0) 编辑

那些满脑子只考虑后台数据库的人他整天研究的就是针对自己查询一些数据的sql语句

摘要: 如果从那些满脑子只考虑后台数据库的人的思路出发,就很难接受这种方式,因为他整天研究的就不是围绕着用户的千变万化的交互操作需求爱好的变化的而是针对自己查询一些数据的sql语句。 阅读全文

posted @ 2012-01-20 17:01 深蓝医生 阅读(765) 评论(0) 推荐(0) 编辑

“法天象而应四时”--茶话软件开发之“抽象”(2)--过程的抽象:函数

摘要: 本想写这样的一个系列的,无奈一直没有时间,没想到网上已经有人写了类似的文章,说明了我原来的观点:函数既是过程的抽象!当然,函数的抽象意义远非如此简单,这里先做一个概念入门,请看转帖的原文:函数关系和对象关系 算法+数据结构=程序。这是一条很著名的公式。但是我觉得过于简单的公式或者不能适应现在的开发潮流了。程序一个目的是用来模拟人类的行为,让机器自动化处理本来人自己需要处理的事务。正因为这样,所以程序有很强的“过程性”,把人的步骤转化为计算机指令的序列。过程性的设计方法,是最原始的方法,是完全模拟人类习惯的一种方法。但是,其实过程并不是我们关注的重点,我们关注的是结果。只要是这个结果,我们不在乎 阅读全文

posted @ 2012-01-20 16:59 深蓝医生 阅读(306) 评论(0) 推荐(0) 编辑

“法天象而应四时”--茶话软件开发之“抽象”

摘要: 抽象不仅仅是软件领域,在有灵性的生物中都有抽象;抽象不仅仅是OO的,非OO语言也有抽象;抽象的级别:类级别的抽象--类、抽象类、接口;方法、函数级别的抽象--泛型、委托、Lambda表达式;组件级别的抽象--业务组件,数据访问组件,UI控件;解决方案的抽象-设计模式;系统级别的抽象--AOP,SOA应用级别的抽象-应用框架;1,物以类分,人以群聚--类,抽象类,接口的关系。将事物分类(class),是我们认识世界的一种重要方式,也是一种重要的思维方式,所以把我们周围的对象(object)划分成一个个的类,将大类再细分成小类,例如由分子到原子,由原子到电子。所以,“类”是“对象”的抽象,是我们认 阅读全文

posted @ 2012-01-20 16:57 深蓝医生 阅读(319) 评论(0) 推荐(0) 编辑

转[]面向对象基础(概念、特征、要素)

摘要: 一、传统开发方法存在问题 1.软件重用性差 重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。 2.软件可维护性差 软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。 3.开发出的软件不能满足用户需要 用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所... 阅读全文

posted @ 2012-01-20 16:56 深蓝医生 阅读(543) 评论(0) 推荐(0) 编辑

隐藏在程序旮旯中的“安全问题”

摘要: 安全问题无处不在,仔细检查一下你的程序旮旯,不要放过它,否则,你就可能后悔,“成功近在咫尺”却又“檫肩而过”。 阅读全文

posted @ 2012-01-20 16:16 深蓝医生 阅读(234) 评论(0) 推荐(0) 编辑

理论有何用?不问“何用”,先问“用否”!

摘要: 理论来自实践,理论指导实践,并非理论无用,而是要先学习理论,继而使用理论,然后检验理论,发展理论,甚至找到新的理论并实践出巨大的成就。 阅读全文

posted @ 2012-01-20 16:12 深蓝医生 阅读(389) 评论(0) 推荐(0) 编辑

功能实现了软件就做好了吗?

摘要: 大家或许要说了:别人写的代码要我来修改还不如我自己重新写,看哪些无用的设计书还不如直接看源码。问题的根源在哪里呢? 阅读全文

posted @ 2012-01-20 15:49 深蓝医生 阅读(421) 评论(2) 推荐(0) 编辑

远程维护需要“千里眼”

摘要: 我们的软件远程维护,不能再靠这种“刀耕火种”式的工作模式了,必须探索一种“自动化的软件远程维护”方式,而完成这个功能的关键,就是我们需要强大的工具--“千里眼”,看到客户那里发生的真实事情! 阅读全文

posted @ 2012-01-20 15:47 深蓝医生 阅读(257) 评论(0) 推荐(0) 编辑

TOP语句放到表值函数外,效率异常低下

摘要: 在XXX系统中,有一个获取客户数据的SQLSERVER 表值函数,如果使用管理员登录,这个函数会返回150W行记录,大概需要30秒左右,但如果将TOP语句放到表值函数外,效率异常低下,需要约3分钟 阅读全文

posted @ 2012-01-20 15:32 深蓝医生 阅读(265) 评论(0) 推荐(0) 编辑

[转]SQL Server计算列

摘要: SQL Server 所作的重大改进是提供了在列内自动持久化数据的能力,这样你就不必每次取一行都进行计算。只对使用确定性函数(对相同的输入,它们永远都返回相同的输出)的公式才提供了这种持久化功能。 阅读全文

posted @ 2012-01-20 15:26 深蓝医生 阅读(2198) 评论(0) 推荐(0) 编辑

Scrum为什么不喜欢“来自客户的频繁变更”?

摘要: Scrum 是一种流行的敏捷开发模式,倡导团队开发的理念,重视团队的整体协作,团队成员包括客户方的代表,所以本文标题中的“客户”并不是通常意义上的外部客户,这有点像一个集团公司中的不同子公司之间的关系,但这并不是说,可以容忍“来自客户的频繁变更”,为什么呢?(下面的文字来自SCRUM节外生枝(二)http://www.cnblogs.com/wanghui9072229/archive/2011/03/02/1969348.html)从Mike Cohn的《Scrum敏捷软件开发》中,我找到了答案。他从另一个角度看待这个问题,我摘抄了其中一段话。“我常常建议Scrum团队首先要对Sprint当 阅读全文

posted @ 2012-01-20 15:19 深蓝医生 阅读(633) 评论(1) 推荐(0) 编辑

宽容,是创新的土壤

摘要: 这个标题是我从别人的一篇博文中摘要出来的,并非是我的总结,有感而发,下面是原文摘要:写这个随笔只是想呼唤一种精神。我们会发现这样一种现象:在美国,越是从Windows API、MFC、Windows Forms、WPF一路走来的老技术人员,越是为每一次新技术带来的改变而欢呼。同样的事情到了中国,则只有无尽的守旧、抱怨、排斥甚至麻木。园子里时常对LINQ不屑的声音不在少数。我们有足够的理由相信,要想创新,首先需要对新事物有一种宽容,只有宽容对待,才能理性发现、理性领悟、理性升华、理性创造。固步自封、安于现状、畏手畏脚、盲目排新的民族,永远无法以创新者的姿态战胜那些曾经敬仰我们的人。也许,那久违的 阅读全文

posted @ 2012-01-20 15:18 深蓝医生 阅读(249) 评论(0) 推荐(0) 编辑

导航