1
享元模式的日常应用面向对象的思想确实很好地解决了抽象性的问题,以至于在面向对象的眼中,万事万物一切皆对象。不可避免的是,采用面向对象的编程方式,
可能会增加一些资源和性能上的开销。不过,在大多数情况下,这种影响还不是太大,所以,它带来的空间和性能上的损耗相对于它的优点而言,基本上不用考虑。
但是,在某些特殊情况下,大量细粒度对象的创建、销毁以及存储所造成的资源和性能上的损耗,可能...
2009-04-03 12:57 阅读(9503)
1
单例模式的日常应用
我们在浏览BBS、SNS网站的时候,常常会看到“当前在线人数”这样的一项内容。对于这样的一项功能,我们通常的做法是把当前的在线人数存放到一个内
存、文件或者数据库中,每次用户登录的时候,就会马上从内存、文件或者数据库中取出,在其基础上加1后,作为当前的在线人数进行显示,然后再把它保存回内
存、文件或者数据库里,这样后续登录的用户看到的就是更新后的当前在线...
2009-04-02 09:22 阅读(4187)
目前的例子,暂时都是java语言书写,稍后,我会补上.net和php语言版。
?1 什么是观察者模式
我们在日常生活中有很多观察者模式应用的场景。比如,凡是去过银行营业大厅办理业务的人,大多会有这么一段经历:办理业务之前,先要在营业大厅的门口领取
一个排队号,然后你就可以在休息区等待叫号,当轮到自己办理业务的时候,某个柜台上方悬挂的小显示屏就会出现“请XXX号到XX柜台办理业务”。有的时
候,某...
2009-03-23 16:30 阅读(7612)
4 里氏代换原则(Liskov Substitution Principle, LSP)
4.1 什么是里氏代换原则
里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data
Abstraction and Hierarchy》里面提出来的,主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时...
2009-03-16 23:56 阅读(4526)
2 开闭原则(Open-Closed Principle,OCP)
2.1 什么是开闭原则
开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
1988年,Bertrand Meyer在他的著作《Object Oriented Software Construction》中提出了开闭原则,它的...
2009-03-12 23:25 阅读(2799)
1 OO的设计原则
采用面向对象的分析和设计思想,为我们分析和解决问题提供了一种全新的思维方式。我们在拿到需求之后(略去OOA,以后补全),接下来的问题就是:如何对系统进行面向对象的设计呢?
按照软件工程的理论,面向对象的设计要解决的核心问题就是可维护性和可复用性,尤其是可维护性,它是影响软件生命周期重要因素。通常情况下,软件的维护成本远远大于初期开发成本。
一个可...
2009-03-10 17:04 阅读(3554)
1 IoC理论的背景
我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。
图1:软件系统中耦合的对象
如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿...
2009-03-08 19:04 阅读(7183)
3.5 详解面向对象的编程(OOP)
3.5.1 什么是面向对象
刚接触编程的时候,多数人本能的反映可能是面向过程(OP)的,而不是面向对象(OO)的。这种现象其实是很正常的,改变思维方式是需要一个过程的,我大体归纳了一下其形成的原因:
1、直接原因
你还没有养成面向对象分析问题和解决问题的习惯。建立面向对象的思维方式需要一定时间的训练和揣摩才能形成,所以你可以在学...
2009-03-05 22:45 阅读(4425)
3 架构师的职责
近来看到CSDN上有个CTO俱乐部,里面聊得是不亦乐乎。我怀着无比崇敬的态度,拜读了一下牛人们的发言。里面有个哥们发起一个话题:“CTO,
你多久没有写程序了?”。有人回答:“不写代码的CTO,属于......这公司问题大了!”。看到这里,我就赶紧撤了,怕忍不住反驳几句,反而遭到牛人
们的群殴。试想,一个上点规模的IT公司,还得靠CTO来写程序的话,那是不是才叫问...
2009-02-28 22:19 阅读(10049)
2.3 面向过程编程(OPP) 和面向对象编程(OOP)的关系
关于面向过程的编程(OPP)和面向对象的编程(OOP),给出这它们的定义的人很多,您可以从任何资料中找到很专业的解释,但以我的经验来看,讲的相对枯燥一点,不是很直观。除非您已经有了相当的积累,否则说起来还是比较费劲。
我是个老程序员出身,虽然现在的日常工作更多倾向了管理,但至今依然保持编码的习惯,这句话什么意思呢?...
2009-02-24 23:28 阅读(7460)
1、引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所
以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到。但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构
师,有的人却还在不停地coding,只不过ctrl-c、ctrl-v用得更加纯熟了。在中国,编程人员最终的归途无外...
阅读(1223) | 评论(0) | 转发(0) |