随笔分类 -  Object-oriented

摘要:前言 :写程序的时候都会听到说,要降低程序之间的相依性。程序之间的「相依性」,可以用下面简单的范例来理解。FunctionA里面使用了FunctionB,当FunctionB功能变更的时候,FunctionA就必须跟着做修改。这也就是说,「FunctionA相依FunctionB」。static void FunctionA(){ FunctionB();}static void FunctionB(){}以上面这个范例看起来,相依性不会是很大的问题,改就是了。但是当我们把问题放大,假设系统里有1000个Function。Function之间互相相依。当要更改1个Function内容并且... 阅读全文
posted @ 2012-04-01 10:16 Clark159 阅读(1236) 评论(2) 推荐(5) 编辑
摘要:前言 :参加点部落的活动,关于IoC(控制反转)大家有很多的讨论。本文排除对象生成的部份,单纯解释IoC为甚么叫做控制反转。本篇文章以之前写的 [Object-oriented] : 重用内容来举例。未IoC之前的对象图 :很明显的左边的组件A,相依右边的组件B。左边的对象,相依右边的对象public class Robot{ private Car _car = null; public Robot(Car car) { _car = car; } public void Work() { _car.Run(); }}pu... 阅读全文
posted @ 2011-10-10 09:43 Clark159 阅读(248) 评论(0) 推荐(0) 编辑
摘要:前言 :说到「面向对象程序设计」跟「结构化导向程序设计」两者之间的不同。常常会提到一点 :「面向对象程序设计程序代码比较容易重用」。 面向对象程序设计的前辈工程师,总结了很多经验写下了Design Patterns以及其他很多的数据文献。 让后续的工程师在重用程序代码的时候,有一些模式可以使用,而不用再去自己创造。 这大大增加了面向对象重用的机会,这类文章网络上已经有很多,这边就不赘述。 本篇从广义的抽象概念,来阐述面向对象的重用概念。说明 :「结构化导向程序设计」在重用的这个领域上,主要是使用「Library」来当作重用的方式。 「面向对象程序设计」在重用的这个领域上,除了沿用结构化导向程序 阅读全文
posted @ 2011-10-10 09:17 Clark159 阅读(196) 评论(0) 推荐(0) 编辑
摘要:前言 :线程 在面向对象里是很少被讨论到的东西。 不是因为面向对象没有用到线程,而是因为线程是面向对象底层的程序设计的内容。 或者是换个角度说。线程是所有程序设计开发应该懂的内容,开发出来的程序都是在线程上面执行。 笔者试着从计算器物理层面,来解释线程的运作。单线程 :在[Object-oriented] 相关系列的文章中,已经阐述过, 程序的执行时其实是, 可以这样理解 :程序代码在内存内,然后由计算机一行一行去执行。 这一行一行执行串联起来的动作,其实就是所谓的线程。 也就是说图中红线的部分就是最简单的单线程。多线程 :多线程主要是用在有些时候很多工作要一起执行,而不是执行完一个在去执行下 阅读全文
posted @ 2011-10-10 09:12 Clark159 阅读(184) 评论(0) 推荐(0) 编辑
摘要:前言 :接口 是在面向对象里,是个不难懂,却是很重要的东西。 笔者试着采用指标的方式,来解释接口的运作。接口 :底下是一段接口的程序代码 这个程序代码很简单,就是ClassA实作ISampleX而已public interface ISampleX{ void XXX(); void YYY();}public class ClassA : ISampleX{ public void XXX() { // ... } public void YYY() { // ... } public void ZZZ() ... 阅读全文
posted @ 2011-10-10 09:02 Clark159 阅读(232) 评论(0) 推荐(0) 编辑
摘要:前言 :继承 是面向对象初学者,学完之后。觉得懂却又有点模糊的东西 笔者试着用展开程序代码的方式,来解释继承的运作。继承 :底下是一段继承的程序代码 这个程序代码很简单,就是ClassB继承ClassA而已namespace ConsoleApplication1 { public class ClassA { public void XXX() { // ClassA Code } private void YYY() { // ClassA Code ... 阅读全文
posted @ 2011-10-10 08:59 Clark159 阅读(210) 评论(0) 推荐(0) 编辑
摘要:前言 :对象与类别 这两个是面向对象初学者,很容易混淆的东西。 笔者试着从计算器物理层面,来解释对象与类别的不同。说明 :不管是面向对象程序或是结构化程序, 执行程序的时候。 计算机作的事情是 : 把执行文件的档案加载到内存并且一行一行执行。 加载到内存的档案,这个我们姑且就叫他 : 「程序代码」面向对象程序程序代码的单位,是以类别为单位。 也就是说,面向对象程序代码加载到内存里面,我们可以把它看成一块一块的区段。 这个区段就是说我们常听到的「类别」。 可以想象成这样 : 程序代码加载到内存内之后, 计算机就会从Main(),开始一行一行执行程序代码。 当计算机执行程序到 Product X 阅读全文
posted @ 2011-10-10 08:56 Clark159 阅读(165) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示