上一页 1 ··· 3 4 5 6 7
摘要: 现在的软件开发流程是这样的:需求分析->概要设计->框架设计->模块设计->类设计->编码->维护新思路:用户特点分析(类似的功能,对不同用户的价值点有所不同)->软件价值分析(也就是软件给用户带来的实际利益的具体输出结果)->算法分析(确定软件结果所需要的相关算法,从这个可以得出数据的流通变换方式,得到数据实体类,同时还能确定用户所需要提供的数据内容,和如何提供这些内容的相关手段)->功能分析(建立业务类,业务类使用数据实体类进行数据的交换)->模块分析(归纳业务类,形成具体功能模块)->框架分析(归纳模块,形成具体框架)-& 阅读全文
posted @ 2010-06-11 11:27 诺贝尔 阅读(370) 评论(0) 推荐(0) 编辑
摘要: UI,逻辑,数据三层模式是最为经典的面向大规模数据处理的项目场景的解决方案。下面是我的看法:UI层使用逻辑层,而逻辑层使用数据层。也就是,UI依赖逻辑,逻辑依赖数据。从面向对象角度,数据层位于抽象的顶端。面向对象的原则,是抽象顶端尽量不要变动,否则依赖他的底层必然需要修改。而底层可以变动,顶层无需更改。在这种三层模式下,数据层是最不允许变动的。不过实际项目的后期维护中,我们绝不会无端端为了修改UI而修改UI,而是用户的需求发生了变化,其中变化的主要层次,就是数据层的变化。这种现实下,三层模式是否已经失去意义了?应该说这种现实,会让三层模式失去很多架构上的优势,但是三层模式有助程序的面向对象化。 阅读全文
posted @ 2010-06-10 17:32 诺贝尔 阅读(1025) 评论(0) 推荐(1) 编辑
摘要: 做人的艺术是:人不犯我,我不犯人,人若犯我,我必犯人!做网站也要有艺术,虽然我没怎么做过网站的管理员,不过我也曾经做过某个不足100人的论坛的管理员,偶尔还能得到一点管理上面的心得。下面说说,大家讨论一下:一、犯贱者应坚决打击比如谩骂之类的,一开始很害怕删掉会影响人气,也害怕这样会显得自己不够大度,但是后来的经验总结,对于这种是要坚决地抵制的。你不可能要求所有人都爱你,容忍是有限度,也必须要有限度。虽然放弃了这些客户,但是也应该看到这样是有助改善现有用户的用户体验和用户环境的,从这点上看,其实利大于弊。在商业管理学上,这种就叫放弃劣质客户,挽留优质客户。二、灌水者往往都是很热情的论坛不是靠什么 阅读全文
posted @ 2010-06-07 20:56 诺贝尔 阅读(1341) 评论(6) 推荐(3) 编辑
摘要: 看到博客园的园友在争论什么是云计算,似乎这个问题让很多人都很纠结。究竟云计算对我们程序员有什么样的影响?有园友指出:云计算和以往的托管服务器没分别。也许吧,不过一个热门的技术名词出来,绝对是有道理的。我认为云计算主要体现以下趋势:1.集中化。比如无数客户端软件,变成了一个网站的服务。无数小网站,变成一个大网站的服务。云计算可能就是为了要成就一个巨无霸怪物。2.社区化。个体于个体的联系更加标准和顺畅... 阅读全文
posted @ 2010-06-03 00:55 诺贝尔 阅读(1523) 评论(2) 推荐(0) 编辑
摘要: 我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。 》(http://www.cnblogs.com/hack/archive/2010/05/30/1747513.html)的标准,那.net的跨平台也当之无愧是一句谎言。以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,... 阅读全文
posted @ 2010-05-30 22:19 诺贝尔 阅读(19417) 评论(47) 推荐(5) 编辑
摘要: 安装页(1)安装页(2)完成页(1)msdn(1)msdn(2)msdn(3)--------------------------------------------------------安装完毕了,然后启动的时候出现一个错误对话框,大家帮我看看是怎么回事:错误对话框--------------------------- Microsoft Visual Studio --------------------------- 未能加载文件 C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Vsa.tlb。未能找到该文件,... 阅读全文
posted @ 2010-05-29 21:31 诺贝尔 阅读(5658) 评论(11) 推荐(0) 编辑
摘要: 在博客园,每个人都有一个独立的页面,某种程度上也相当独立了。如果好像麒麟所说的,为了所谓的打造“个人品牌”而去搞一个独立的博客,真的没有什么意义。我建议可以申请一个域名,几十块钱的事情,万一博客园倒闭了,还能指向自己的新博客,多好的事。那些想要独立博客的人,无非是贪新鲜,或者是狭隘的个人主义。我们写博客,就是为了给别人看,摆在深山里面,归隐避世,除了显摆之外没有任何作用。人... 阅读全文
posted @ 2010-05-17 21:35 诺贝尔 阅读(2928) 评论(72) 推荐(8) 编辑
摘要: 网上看的新闻,是飞信2010,beta2版,用C++重写。广大群众高呼性能飞升~.Net 的战略是不是有点问题,为何非要做出一个性能低下的产品?这是一个大家都关心的问题,发到首页希望听听大家的看法。 阅读全文
posted @ 2010-05-14 02:06 诺贝尔 阅读(14752) 评论(186) 推荐(18) 编辑
摘要: 首先要明白 需求 和 (代码)实现 是怎样的对应关系。假设需求和实现是一一对应的。那么需求改变一处,代码也必然改变一处。有人想要需求变了,却也不改写实现,是不符合逻辑的。变化有三种,一句话:增删改。对三种情况作分析:增:不需要改写原来的,而增加新的实现。删:只需要去掉对应的部分。改:改掉对应的部分。因此,结论是,软件设计,应该满足在增加功能的时候,不修改固有代码这个原则。虽然删除需求的需求不多见~嗯~~~,这个其实是上一个规则的不同表诉。改,嗯~~~本质上也是第一个规则。如何应对需求不断的变化?这是折磨软件设计者的难题。需求变了,不改变实现是不可能的。我们要做到的是变化多少,改动多少,做到平滑 阅读全文
posted @ 2010-05-09 12:36 诺贝尔 阅读(2083) 评论(12) 推荐(1) 编辑
摘要: 顾名思义,就是接口加上测试代码。任何符合这个接口的,除了接口样式要对应之外,同时还要运行通过测试。interface iphone{ void call(string number): test{ ... } ;}class Nokia : iphone{ void call(string number){...}}class Motorola : iphone{ void call(string number){...}}Nokia E72 = new Nokia(); E72.call("114"); // test ...Motorola V8 = new Moto. 阅读全文
posted @ 2010-04-29 13:31 诺贝尔 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 最近看到一个报纸报道:《富同学穷同学》。里面列出了一大堆的所谓穷同学和富同学的对比,但我感觉,认识太刻板。下面说说我对成功的认知。1.成功是一种概率。成功不是必然的,失败也不是必然的,虽然这样,但成功概率的大小是可以改变的。任何人都能成功,概率多少而已。但也有这种可能性:有些人机会多,但是没去把握。有些人可能一辈子就一两个机会,可是他牢牢把握住了。一个只有几次机会的人,实际上却成功了,而一个机会很多的人,却没成功。因此,并不是所有成功的人都有漂亮的故事可以诉说。2 .性格决定有限的命运有句很有名的话:性格决定命运。但是是否有一种性格注定成功?或者说你3岁就定下了未来是否成功?这不过是宿命论的一 阅读全文
posted @ 2010-04-25 13:25 诺贝尔 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 世界上最难得事情就是将别人的钱放到自己口袋。 要想别人给钱,首先要有控制别人的能力,例子,奴隶主能控制奴隶。权力是来钱的关键因素。也就是说应该增加别人对你的依赖。人们的弱点:1.只看到短期利益,往往忽视长期利益,只看到表面利益,往往不深入发掘内在利益关系因此,可以用短期利益来迷惑人们,让他们放弃选择其他渠道的权利。要想别人给钱你,那应该先为别人创造价值。公式:产品或者服务的价格 = 成本 + 你的获利对方的获利 = 不选择你的产品或者服务的成本 - 选择你的产品或者服务后的成本成交公式: 成本 < 不选择你的产品或者服务的成本 且 对方能因此获利就算达成合作关系,你,顾客,还有你上面的供 阅读全文
posted @ 2010-04-22 13:58 诺贝尔 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: 吉日先生说:软件公司不在于大,只图大未必是好事,公司不大也未必是坏事,需要有进化的过程 说的很对,但是并不是软件公司不能一味求大,其他公司企业也是一样的道理。公司大了难管理,从成本角度,大公司有比较大的固定支出,所以要求比较大的固定收入,否则很容易资金链断裂,关门大吉。有些公司在旺季的时候一味发展壮大,但是到了淡季就一下子熬不过来,倒闭了。这都是因为没有看到壮大所带来的风险。我听说,有些技术公司,... 阅读全文
posted @ 2010-04-22 00:10 诺贝尔 阅读(4152) 评论(11) 推荐(3) 编辑
摘要: 希望一步一步记录开发过程,从实践中总结经验教训。<p$1$2$3$4$5$6>1.设计阶段2.编码阶段3.维护阶段 阅读全文
posted @ 2010-04-20 20:44 诺贝尔 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 面向对象的思想,先把现实中的对象转化为程序上的对象。程序,是解决某个问题的相关步骤和次序。而实际很多时候,程序描述的是一个场景活动,首先是有主体,然后是相关活动。程序固有的含义,可能就比较关注活动,而不关注主体。面向对象,首先要确立活动场景中的主体,也就是对象,在分析主体所担当的职责,也就是功能。过程性的开发方法,强调的是活动,那么活动的主体是什么?是数据,也就是,在过程性的观点下,程序只是数据的变换过程。而面向对象的观点,则是对象之间职责的传递:“我把我的任务完成了,然后交给你接着做”。过程性的观点是比较低层次的,比较接近计算机的层次,而面向对象,就比较人性化。但是面向对象也离不开过程性的观 阅读全文
posted @ 2010-04-16 23:51 诺贝尔 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 很多人学习面向对象和设计模式,往往是为了技术而技术,只是学到了形式,很僵化。这都是因为没有把握好技术的目的是为了什么。对于设计来说,他的目的就是为了方便软件开发和软件维护。不提倡滥用设计,在于设计是和你当前的软件开发需要是相匹配的。对于你这个项目的要求,可能平铺直叙,直观的方式是最有效率的。因为只有你一个人在干,你就没有必要通过设计来分配功能任务给若干个开发人员,没有这种需求,就没有这个设计的必要。又因为你这个项目很小,设计一个高度抽象的架构出来,却只有一个简单的实现,框架的灵活性完全排不上用场,结果设计的成本比你开发的成本要高太多太多,也就没必要了。 除非你是在做教案,才有必要对每一个细节都 阅读全文
posted @ 2010-04-15 13:29 诺贝尔 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 写关于设计一门新语言的思路的一个系列。创新应该基于对旧事物的学习和批判,因此我选择c语言来做研究对象。大体上的目标是:1.语言逻辑清晰,易于表达业务,易于表达算法,易于组织流程,易于实现多线程,易于构建数据结构2.易于编译,模块细化,对版本问题有更好的解决方案3.对工程学有足够的自动化支持4.跨平台<p$1$2$3$4$5$6>目录改进c系列(1)改进c系列(2)改进c系列(3)改进c系列(4)改进c系列(5)改进c系列(6)改进c系列(7)改进c系列(8)改进c系列(9)改进c系列(10)改进c系列(11) 阅读全文
posted @ 2010-04-10 13:31 诺贝尔 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 关联内容: 面向对象思想的头脑风暴(一)关联的文章讨论了一个开放封闭原则的具体案例,其中前两个是超级复杂化的设计,而且还完全不符合开放封闭原则。但是,我想如果没有学习过所谓的设计模式的人,绝对不会犯前两个这种“模式过度”的错误的。因此,设计模式的爱好者们,要小心了,让你代码变得恶心的,往往就是你所热衷的东西。然后第三个用委托。第四个用组合接口的方式。也许是例子不够好,我觉得第三第四也是不完美。我们回顾一下设计要求:“需要处理三种产品图书,数码,消费,需要计算产品的税率,图书的税率为价格的0.1,数码和消费类产品为价格的0.11,需要获得三种产品的信息,图书和消费类产品的信息为:"名字 阅读全文
posted @ 2010-04-10 12:08 诺贝尔 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 响应 《畅想 silverlight 如何实现超级玛丽》 一文超级玛丽(俗称:打蘑菇),是孩童时期最爱的游戏之一。这个游戏本身似乎并不复杂,规则统一,却又颇有趣味性。对红白游戏机的有限性能来说,能做出这种游戏确实是很了不起,不知道silverlight版本会有多大难度呢?尝试一下吧。超级玛丽是单人游戏。游戏的主角只有一个,这个主角有几个特点:1.站立2.蹲下3.屈身跳跃4.滑行5.跳跃6.变大,变小7.射击炮弹8。空中改变方向9.加速跑10.在水中游泳可见,玛丽的技能蛮多,可能也正是因为这样才那么有趣吧。游戏地图是一副长长的卷轴。地图有很多部件的特性是值得研究的:1.地板,可以站立其上2.背景 阅读全文
posted @ 2010-04-07 20:00 诺贝尔 阅读(1752) 评论(1) 推荐(1) 编辑
摘要: 最近看了江民先生的简历,30多岁才学电脑,两年后居然可以开发出震撼宇宙的kv系列杀毒软件。有点感触,学编程都那么久了,为啥就没有人家那么牛B,是时间不够还是坚持不够,是热诚不够还是聪明不够?也不是不努力,也不是脑残,为什么就没有开发出什么值得一提的大作出来!?最终,我想,还是态度的问题。介绍江民先生生平的文章说,他是一个特爱较真的人。不是我用在学习的时间不够,花的心思不多,精力不多,而是没有江民先生那种较真的态度。不求甚解,不注重实效,傻干傻学,不积累不反思,就算再有百年,估计也没有能力做出震撼宇宙的软件系列出来。软件开发,真的是需要用心进去,深入到灵魂的对话,把开发当作自己身体一部分的去对待 阅读全文
posted @ 2010-04-07 03:52 诺贝尔 阅读(2282) 评论(17) 推荐(2) 编辑
摘要: 结构优美的代码,是每个程序员的追求。可能这个没有严格的标准,但是有些原则会有助编写结构优美的代码。1.对代码的逻辑层次要有感觉。比如大体上,一个程序会分三个层次:界面层,逻辑层,数据层。简化后一般也有两个层次:界面和逻辑层。逻辑层是去掉外表的,内在的,实质的东西。一般来说,就是表现为对数据的一组操作。而界面层,是关注程序应该如何和用户沟通的。比如可视的视窗,图表,控件等。它是内部逻辑的呈现,也是用户和内部逻辑沟通的桥梁。 区分这两个层次的好处,一个是这两个层次所注重的核心内容有所不同,用到的技巧或者指导方法有所差别。第二点是,可以将问题解构和局部化,减轻开发难度。第三点,有助分开来修改内容,比 阅读全文
posted @ 2010-04-05 14:11 诺贝尔 阅读(3459) 评论(0) 推荐(1) 编辑
摘要: 很多新手,总是把用户界面的代码和业务逻辑的代码 混在一起。到 最后,导致整个流程变得很复杂,要理解很不容易。好的代码应该是结构清楚的。而将界面代码和业务逻辑的代码区分开来,是新手进阶的第一步,也是比较容易实践的一步。比如五子棋游戏,在逻辑层面,下一个子不过是在二维数组写入一个标志。但是用户界面接口的代码就包括,读取键盘的输入,判断输入是否合法,输入的内容是什么,然后再调用逻辑代码。如果将这些混在一起,本来很清晰的逻辑代码,变得无比复杂。保持逻辑代码的清晰是很重要的,这些是核心功能。 阅读全文
posted @ 2010-03-31 13:57 诺贝尔 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: 根据模块的设计文档,程序设计师开始设计代码。这里不讨论怎么设计优秀的代码,只是讨论如何贯彻质量管理或者具体来说是检测设计是否符合编码人员的要求。<p$1$2$3$4$5$6>设计于编码来说,主要体现在设计完成了一个良好的应用接口和相应的功能范畴的定义。而 检测相关接口和功能定义是否适合编码工作,就是这一阶段实践软件开发质量管理的关键。<p$1$2$3$4$5$6>对某个功能点下的编码人员来说,有自身应该实现的接口,和可以使用的接口。自身接口一般应该由另外的功能点下的编码人员来检验。因此接口应该符合真正的使用者的要求。而当前编码需要使用的接口,应该编写详细的测试代码。这就 阅读全文
posted @ 2010-03-31 13:27 诺贝尔 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: 提高软件质量,需要一个良好定义的执行过程。而执行过程,每时每刻都需要一套行之有效的检测反馈的方案。包括担当检测主体的人,检测的工具,和实施的方法。在一个质量管理团队中,总有两种角色。一种是送检方,另一种是检验方。1.需求分析阶段:送检方是消费者,他提供了需求信息,而检验方是我们团队的需求分析员。工具是什么?检验的方法和标准是什么?2.系统模型的建立阶段:送检方是分析员,提供了需求分析报告,而检验方是框架设计师。工具是什么?检验的方法和标准是什么?3.功能模块化阶段:送检方是框架设计师,提供了框架级别的文档,而检验方是程序员主管。工具?检验?4.代码设计阶段:送检方是程序员主管,提供功能模块文档 阅读全文
posted @ 2010-03-29 09:46 诺贝尔 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 软件开发和其他制造业的区别在于,软件的成本在于研发,而不是制造,制造业可以有既有的模式来进行流水线的工作方式,大大的提高产品的质量。虽然,软件有这种固有的特点,但是我认为还是可以借助制造业的管理经验来管理软件开发。尤其是,软件不会受许多物质条件的限制,也就有了很多更大的发挥空间。一个产品,如何才能称之为质量高的产品?我认为应该满足一下条件:1.符合消费者的需要(功能性)2.健壮3.高效(竞争力的体现)其实传统制造业要弄个新产品出来,并不比软件开发容易。先要构思,然后一步一步修改,市场宣传,诸如此类,不管哪个环节,如果是软件开发来说,都比较节省成本,因为软件要部署比硬件部署技术手段要容易多了。正 阅读全文
posted @ 2010-03-26 22:34 诺贝尔 阅读(1890) 评论(3) 推荐(1) 编辑
摘要: 手工作坊式的企业,对程序员的要求是比较高的。每一个程序员,都要对整个项目有比较深的认识,就要求程序员的个人能力要超群卓越。但是,这种人毕竟是少数的。从企业的角度,是人才短缺。而对于广大的程序员群体来说,就是职位少。如何能适度的降低对程序员技能的要求?我觉得并不是教育能解决的,重点不在于程序员,而在于企业。企业规范自己的用工环境,降低对程序员的要求才是好方法。中国有庞大的程序员群体,但是能利用上的很少,这是因为企业制度和流程的落后。 如果研究一下其他技术领域,制造业,需要独当一面的人才那是小数,大部分都只需要做好某个小局部便可。为何传统行业能做到,软件行业却做不到?就算是模仿了,效果也不好?我认 阅读全文
posted @ 2010-03-24 13:55 诺贝尔 阅读(695) 评论(1) 推荐(2) 编辑
摘要: <p$1$2$3$4$5$6>有几个模式比较重要和基础的。第一个是关于构建对象的模式。<p$1$2$3$4$5$6>接口 a = new 类b();<p$1$2$3$4$5$6>这个就是构建对象的代码,这个代码应该怎样处理。从位置来看,在组合模式下,假设类a包含类b,如果将构建代码放在类a中,必然导致类a对类b的强引用,当类b有所变更,可能就会影响类a的代码。但是类a如果不对类b进行引用,就无法组合代码了。基于这个些要求,应该把以上代码放在一处地方,这个地方是关于业务的主线的。<p$1$2$3$4$5$6>类a 和 类b 直接通过接口作为纽带,是 阅读全文
posted @ 2010-03-09 14:01 诺贝尔 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 重构的原因,在于需求的变化。需求没有变化,也就没有必要瞎折腾来重构,除非你真很蛋疼。 需求变化有两种原因:一,是真的变化了。二,对需求的认识深化了。旧的需求,转化到新的需求,设计就要跟着变化。当然也不是所有情况都需要大变动,很多需求变化,没有涉及到“筋骨”,就可以保持设计的骨架,而添加新的内容。 一个优秀的设计,应该精良预示到这种简单的需求变化。如果真的要改变,那哪些设计会比较容易更改呢? 类设计有两种观点:一是从自身出发,该类应该有哪些操作,就建立这些操作。二是从需求出发,别人需要该类有什么操作,他就应该提供这些操作。我的看法是,从需求出发,建立的是概念切面,也就是接口。从自身出发,建立的是 阅读全文
posted @ 2010-03-07 15:57 诺贝尔 阅读(1839) 评论(0) 推荐(0) 编辑
摘要: 序号 大写 小写 英文注音 国际音标注音 中文读音 意义 1 Α α alpha a:lf 阿尔法 角度;系数 2 Β β beta bet 贝塔 磁通系数;角度;系数 3 Γ γ gamma ˈɡæmə 伽马 电导系数(小写) 4 Δ δ delta delt 德尔塔 变动;密度;屈光度 5 Ε 阅读全文
posted @ 2010-02-22 13:27 诺贝尔 阅读(170401) 评论(3) 推荐(10) 编辑
摘要: 很多“框架”设计出来后,你用了一丁点东西吧,都要求你背负整个框架的大包袱。这样很不好。软件应该由用户选择自己用到的功能,而能将不必要的功能去掉。一个好的软件设计,应该可以增大也可以减小的。从这种意义上,.net 的dll封装模式,就不如java的class + jar zip包模式高明。dll 是个大包,可能包含了很多用不上的类,作为面向对象的封装模式,细化到类是有意义的。假如你的程序只使用框架的某个类,那么你只需要包含这个类的class文件,然后包含这个类自身的相关引用,然后类推下去。比如,子类需要相关的基类,和其用到的类。如果设计该类的程序员遵照比较规范的面向对象原则,可以预见,应该不会用 阅读全文
posted @ 2010-02-18 13:15 诺贝尔 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 我们知道,一般的面向对象语言,都会有类,而类成员一般有三种访问权限:公开,保护,私有。有些人说,“保护”似乎没有什么价值,还建议不用。有些人却认为,没有“保护”,举步维艰。我觉得,“保护”属于类库维护者,而“公开”属于类库使用者。只要我们明白这两个身份的不同,就好理解该如何使用“保护”了。比如,你本身是类库的设计者,或者是团队设计者之一,那么你也可能自己做自己的类库维护者。但是类库维护者并不好当。从接口的角度,“保护”成员对类库维护者来说是属于“接口”级别的,所谓接口,就要维持他的不变性。我们要维持接口的不变性,非常难,唯一的办法就是尽量减少“接口”,将不必要的封装起来。但是“保护”成员却将很 阅读全文
posted @ 2010-02-09 23:47 诺贝尔 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 我是一个学过一点c++语言的人。在c++中,没有自动内存管理,却有很多可以值得借鉴的思路。我认为一个内存,申请了,却不用,然后,不用了,却不释放,都是一种资源浪费,而不是说,程序最终都会在某一个时刻回收释放就叫防止内存泄漏了。就算有一小部分内存我是永远都用不上,泄露了,而相对有大部分内存不能好好利用上,那个更加不合理?因此,内存泄露是很广义的,程序应该协调好,提高内存利用才是正道。.net框架的内存管理问题,在于对释放点的不确定,宏观的管理有时候是好的,但是程序往往有局部性,对细颗粒的控制往往是稳定性和性能的关键。至于如何提高这些内存的利用率,我觉得还是c++那套实在,什么时候用,什么时候申请 阅读全文
posted @ 2010-02-08 13:27 诺贝尔 阅读(278) 评论(0) 推荐(0) 编辑
摘要: <p$1$2$3$4$5$6>面向对象有三个特性:封装、继承、多态。封装是不容置疑的,就算不是面向对象,一样有封装的开发思想。多态,是能够减少阅读难度的方法,对合作开发有很大的帮助。<p$1$2$3$4$5$6>最让人质疑,也是最有特色的是继承。面向对象用很形象的思维,创造性的将现实世界的种类关系纳入开发指导中,但是正是这种类比,让我产生了一种忧虑。是不是这个目标太过理想,反而让人们忽视了其实质。肯定的,现实世界的种类关系确实很普遍,我们完全有理由相信,编程使用类似的思想是有价值的,但是对于如何借鉴值得研究。现在的面向对象继承方法,实质是什么?举例说:有个类D,继承自类 阅读全文
posted @ 2010-01-31 15:47 诺贝尔 阅读(512) 评论(1) 推荐(0) 编辑
摘要: 软件设计过程有几类和源代码相关的角色:1.使用者;2.修改者1.封闭原则。使用者不需要了解的东西封闭起来,一则可以减少阅读无关的信息,二则可以减少误用,增加代码的耦合,增加以后修改代码的难度。2.抽象接口原则。使用者引用的是抽象接口,会减少修改代码的难度。<p$1$2$3$4$5$6>原则性的东西往往不用太多,但是相关的具体措施还是蛮广泛的。如何实现封闭原则?首先要了解什么是封闭,封闭的程度怎么看出来。很多语言都可以做到多层级的封闭,范围比如有:1.项目内;2.文件内;3.类可以有公开,继承公开,私密几种;4.类成员有公开,继承公开,私密等等。如何贯彻封闭原则,就是在某一个范围内, 阅读全文
posted @ 2010-01-18 01:10 诺贝尔 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 汉语编程,解决了13亿中国人编程难的问题,我认为绝对够格获得诺贝尔奖!人们经常怀疑汉语编程的必要性和可行性,认为汉语编程是在扯淡。下面我就针对这些观点来发表自己的看法。1.汉语不适合用来思考编程问题驳:自然语言中,汉语算是比较成功的。如果汉语不适合,英语等其他语种也会有同样的问题。2.汉语不利于国际交流驳:交流是双向的,不能老是我们中国人无条件的接受别人的标准,有时候也需要我们制定一些标准让别人来履行。在国际上,英语确实是用得比较多,如果程序要多国协作开发,那么汉语可能不是那么合适。但这种程度的开发并不是主流,还有大部分的开发不需要达到国际交流这种程度。况且,国际交流并不等于依赖英语,用一个中 阅读全文
posted @ 2010-01-13 23:48 诺贝尔 阅读(1483) 评论(45) 推荐(0) 编辑
摘要: 为中华崛起而奋斗! 阅读全文
posted @ 2010-01-13 22:28 诺贝尔 阅读(1211) 评论(3) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7