1、组织代码,封装数据。2、事物比较简单,可以用线性的思维去解决,面向过程开发(比如开车); 事物比较复杂,使用简单的线性思维无法解决,使用面向对象。(比如造车)3、面向对象的本质是:以类的方式组织代码,以对象的方式封装数据。OOA(面向对象分析);OOD(面向对象设计)4、类:是对对象的抽象。(....
分类:
其他好文 时间:
2014-08-20 16:18:12
阅读次数:
182
又是设计原则,又是设计模式,到底该用哪个呢? =============================================================================在“设计模型”一章中,我们提到设计原则和设计模式是互补的,设计原则和设计模式互补体现在:设计原则主要用于指导“类的定义”的设计,而设计模式主要用于指导“类的行为”的设计。 举一个很简单的例子:假设我们...
分类:
其他好文 时间:
2014-08-18 10:52:14
阅读次数:
243
泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险。——MSDN...
分类:
其他好文 时间:
2014-08-17 22:48:13
阅读次数:
188
在设计模式汇总我们已经从宏观上区分了各种设计模式的联系,下面针对其中的行为型设计模式进行总结。行为型设计模式,从它的名字中我们可以知道它是用来优化对象方法行为的设计模式。如下图:
从设计模式の面向对象中,我们知道所有的设计模式的目的之一是解耦,于是我这幅图是从解耦针对对象的角度对设计模式进行的进一步的细化分类。如上图,其中自身解耦设将自身的一些算法骨架和细节进行抽象封装。这里需要强调的是...
分类:
其他好文 时间:
2014-08-13 19:08:17
阅读次数:
182
尽管Java是基于C++的,但是相比之下,Java是一种更“纯粹”的面向对象设计语言。2.1 用引用操纵对象 一切都被视为对象, 因此可采用单一固定的语法。尽管一切都被看作对象,但操纵的标识符实际上是对象的一个“引用”。Java里的“引用”与C++中的“引用”是有区别的,但是这个概念不需要完全明.....
分类:
编程语言 时间:
2014-08-13 18:27:06
阅读次数:
228
所谓的设计原则也好,设计模式也罢,无非是在面向对象的前提下产生的。而面向对象的前提是抽象,面向对象的三大特征是封装、继承、多态。为了从本质上理解设计模式,下面我们分析一下这些概念之间的关系。请看下图:
面向对象思想的前提是抽象,从现实世界中抽象出一些对象或者类的共性之后封装成类或者抽象类或者接口。这些类也罢接口也好是为了增加代码的复用性,既然是为了复用,当然需要子类来继承。在继承...
分类:
其他好文 时间:
2014-08-12 22:08:54
阅读次数:
205
在我踏入软件行业后,一直苦于没有前辈指点。我常年困惑于两个问题:一是怎样培养面向对象设计的思维能力?二是怎样进行架构设计,有无方法? 因为我做了那么多年项目,却很少看到有漂亮的面向对象思维写出来的代码,觉得有必要提醒下年轻从业者。如今总结一下自己的经历,希望对刚刚入行的朋友有些启发吧。我的基本观念....
分类:
其他好文 时间:
2014-08-11 11:37:12
阅读次数:
316
c++多线程(一)C++11 多线程鸡啄米:C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点)鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)[笔记]VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法VC++/MFC程序图标...
分类:
其他好文 时间:
2014-08-10 10:14:50
阅读次数:
219
1.
面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就表现在内存中的对象状态发生了变化。
2.为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持...
分类:
系统相关 时间:
2014-08-06 19:12:22
阅读次数:
265