当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 介绍 NT-
 

 

    摘要:中国的政治经济格局正在酝酿着一场变革,而作为高新技术产业的软件行业,必将成为这场变革的先锋队成员。这里我不想对政治经济的变革做什么展望,仅仅对软件行业的未来谈谈自己的看法。 当前软件行业人士普遍存在两种错误观点:第一种观点认为我们应该培养软件蓝领,向印度学习,依靠外包和出口求得进步;第二种观点认为,我们缺乏自身的核心技术,应该要重视底层技术,力求做研究型开发,做出自己的pc,乃至操作系统等等。第......
 ·effective stl条款50    »显示摘要«
    摘要:条款50:让你自己熟悉有关stl的网站 因特网充满了stl的信息。用你最喜欢的搜索引擎寻找“stl”,它一定会返回几百个链接,其中有一些可能实际上是相关的。不过,对于大多数stl程序员,没有必要搜寻。下列网站应该要提升到几乎每个人的最常使用列表的顶端: sgi stl网站,http://www.sgi.com/tech/stl/。 stlport网站,http......


IOC和Dependency Injection
  介绍

  【程序编程相关:BBIagent

其实ioc模式并不是什么新的东西,它是一种很普遍的概念(或者说结构),gof中的template method 就是ioc的结构.顾名思义,ioc即控制反转.著名的好莱坞原则:“don’t call us, we will call you”,以及robert c. martin在其敏捷软件开发中所描述的依赖倒置原则(dependency inversion principle, dip)都是这一思想的体现.dependency injection是martin flower对ioc模式的一种扩展的解释,下面我们从一个简单的实例开始. 【推荐阅读:会员管理系统中会员类的实现

如下的类图,并写下了代码. 【扩展信息:ASP 调用 ORACLE存储过程并返回

考虑一个button来控制lamp的开与关.

 

public class button {

       private lamp lnklamp;

       public void poll() {

              lnklamp.turnon();

       }

}

但是马上发现这个设计的问题,button类直接依赖于lamp类,这个依赖关系意味着当lamp类修改时,button类会受到影响.此外,想重用button类来控制类似与lamp的另外一个对象则是不可能的.即button控制lamp,并且只能控制lamp.

显然,我违反了“高层模块不应该依赖于底层模块,两者都应该依赖于抽象;抽象不应该依赖于具体实现,细节应该依赖于抽象” 这一原则(dip原则).

考虑到上述问题,自然地想到应该抽象出一个接口,来消除button对lamp的依赖,于是设计如下:


...   下一页
    摘要: 白领 在上个世纪的一千九百九十八年的春节前的某天傍晚,北京的隆冬傍晚,华灯初上,春节前是北京一年里最冷的日子,东三环边上的长城喜来登饭店的大宴会厅里,却洋溢着融融春意,偌大的大宴会厅里百十张大圆桌边,已经坐满了人,有说有笑,这些辛苦了一年的白领员工们,今晚正在参加公司一年一度的春节新年宴会.这是一家老牌的跨国巨型企业,进入中国已经百多年了,尽管如此,她的大多数manager仍是外国人.晚宴上,不......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE