找到相关内容 47
面向对象编程已死?
本文是从 Object Oriented Programming is Dead 这篇文章翻译而来。   那好吧,也许是没死,但卡内基.梅隆大学的Robert Harper教授却说(Teaching FP to freshmen)面向对象编程和设计“不适合做为现代计算机科学教学课程”,详细的内容引用如下: “面向对象编程应该完全的从基础课程中删除掉,因为它既
http://cyqdata.cn/cnblogs/article-detail-38067 
面向对象的分析与设计
引言   我们首先介绍一些名词翻译:  Object-Oriented Analysis and Design---面向对象分析和设计  Assignning Responsibilities---分配职责  Iterative Development and the Unified Process---迭代开发和统一的过程  Embracing Change---拥抱变化  Feedback a
http://cyqdata.cn/cnblogs/article-detail-38035 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第10章 异步编程模式
第10章 异步编程模式 【摘要】:异步编程充分利用多线程技术带来的好处,而不需要程序员了解多线程开发中的复杂细节。本章讲述了基于IAsyncResult的异步模式、基于事件的异步模式。   第1节    程序的同步执行和异步执行 1、同步概念:若在代码中调用了一个方法,需要等待此方法所有的代码执行完毕之后,才能回到原来的地方执行下一行代码,这种程序运行方式称
http://cyqdata.cn/cnblogs/article-detail-37988 
ExtJS 4 组件化编程,动态加载,面向对象,Direct结合成功,目前为止我的最佳实践
ExtJS4中支持组件化编程和Direct,官方实例中分别提供了两种技术的示例,但没有两种方式结合的例子,经多次测试,由于4.0中存在的bug(暂时这么认为,也许是我水平烂),两种方式结合会产生一系列问题,在静态加载、动态加载、Direct结合的过程中(尤其是采用Direct的时候,用url不会出错),经常性的报错。 官方论坛也没有相关资料,中文也没找到。 分析2天源代码+调试+测试各种结合方式(
http://cyqdata.cn/cnblogs/article-detail-37876 
C#面向对象设计模式纵横谈:Facade 外观模式
系统的复杂度   假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。   如何使用这样的系统   动机(Motivation)   上述A方案的问题在于组件的客户(即外部接口,或客户程序)和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。如何简化外部客户程序和系
http://cyqdata.cn/cnblogs/article-detail-37831 
如何向妻子解释面向对象设计(OOD)
前言 此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。 作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出生放弃了),于是作者就试图根据自己在软件开发设计方面的经验帮助她学习面向对象
http://cyqdata.cn/cnblogs/article-detail-37810 
面向对象封装了啥
面向对象封装了变化,或者更加准确的说,应该是封装了不变的地方,留出了变化的地方可以在需要的时候再去变,那么什么地方会变化呢? 1、数据的变化   比如一个工厂生产一种纸盒子,程序要计算它的体积,需要有长、宽、高的尺寸,盒子的尺寸是固定的,那么在代码里面直接硬编码,比如长1,宽2,高3,方法返回1*2*3,甚至直接返回6,没有任何问题。现在需求发生了变化,这个工厂生产两种尺寸的盒子,另一种长2宽2高
http://cyqdata.cn/cnblogs/article-detail-37589 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第9章 事件及事件驱动
第9章 事件及事件驱动 【摘要】:事件驱动是面向对象软件系统的一个重要特征。本章介绍了.NET事件处理机制、自定义事件的基本方法以及WPF路由事件等。 第一节 .NET事件处理机制的剖析与应用 1、概念:从面向对象角度来说,事件是由对象发出的消息,它是一个信号,通知其他对象有事件发生。          &
http://cyqdata.cn/cnblogs/article-detail-37541 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第8章 神奇的委托
第8章 神奇的委托   【简述】:在.NET中,事件驱动、异步调用和Lambda都是建立于委托之上的。本章主要介绍委托的基础知识、泛型委托、Lambda及方法回调等。   第一节   委托的概念与使用  1、  概念:委托可以看成是一种数据类型,可以用于定义变量。但它所定义的变量能接收的值只能是一个方法。 2、 实例:  &nb
http://cyqdata.cn/cnblogs/article-detail-37309 
ExtJS 4 组件化编程,动态加载,面向对象,Direct
ExtJS4终于出了正式版,体验一下面官方推荐的向对象编程最佳实践 过去的做法是new对象或者Ext.create一个对象,每个对象都要先实例化才能使用 ExtJS4推荐定义类的时候均使用Ext.define,利用xtype动态加载 修改了以前的一个登陆窗口,感觉用官方推荐的方法还是很不错的 但还有一些问题没有想得非常清楚,先把代码贴出来一起研究下。请看代码中的注释~~ 使用Ext+.Net,用D
http://cyqdata.cn/cnblogs/article-detail-37291 
你以为你了解面向对象设计么?
你以为你了解面向对象设计么?你可能说:“是的,我了解!”那么好,来看一个例子。 下面这个设计,你认为是面向对象设计么? Button类的代码如下: public class Button { private Lamp lamp; public void Poll() { if (/* so
http://cyqdata.cn/cnblogs/article-detail-37204 
面向对象随想 -- 多用组合来代替继承
让我们先来简单看看什么是继承和组合。只是例子,不是概念。 假设有三个特性(模块), ModuleA, ModuleB, ModuleC。有两个类 ClassA 和 ClassB 需要使用它们。ClassA 会用到 ModuleA 和 ModuleB,ClassB 会用到全部三个特性。而且我们还假设现在全部A,B和C模块会只被ClassA和ClassB用到。 继承: class Cla
http://cyqdata.cn/cnblogs/article-detail-37015 
驳“面向对象的基本特性多态”
在网上常常能看到文章讲面向对象的三大基本特征"继承"、"封装"、"多态",我以为这是坊间流传的最不靠谱的一个说法。本文先谈谈其中讲到的一个特性:多态。多态是一个跟面向对象完全正交的概念,两者之间可以说没有任何必然联系。当然口说无凭,下面是我经过很长时间查找到的一些来源比较可靠的资料对多态的说法。最早可查证的关于多态的说法是一篇叫做 Fundamental Concepts in Prog
http://cyqdata.cn/cnblogs/article-detail-36902 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第6章 异常捕获与处理
第6章   异常捕获与处理 【简述】异常处理是开发软件产品必须认真考虑的问题,它在很大程序上直接决定了软件产品的健壮性。 本章主要介绍了.NET异常处理基础架构及提出异常处理的一些建议。 第一节    .NET异常处理基础 1、 异常概述: A、  定义:程序运行时所引发的错误。异常不等同于Bug,它是Bug的一种表现形势。 B、&nb
http://cyqdata.cn/cnblogs/article-detail-36873 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第1章 .NET面向对象编程基础
第1章  .NET面向对象编程基础  【简述】:主要介绍.NET程序运行原理、编程语言的发展趋势等,尤其是语言的发展趋势的讲解,相信对大家编程会有一点启发。  第一节   .NET概述 1、.NET概念   A、.NET Framework 。它是.NET技术的载体。    B、一组根据.NET Frame
http://cyqdata.cn/cnblogs/article-detail-36786 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第4章 继承与多态
【简述】:本章主要围绕面向对象的核心特性 继承与多态而展开,主要谈了方法重载、方法隐藏、方法重写、协变与逆变、多态编程的CLR原理等,其目的只有一个:实现多态编程。   第一节     方法的重载、隐藏与重写辨析  1、 方法的重载的判定条件: A、方法名相同。B、方法参数列表不同。   B.1 方法的参数数目不同。
http://cyqdata.cn/cnblogs/article-detail-36765 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第3章 字段、方法与属性漫谈
【简述】:本章主要讲述类相关的字段、属性、方法。其中字段与属性介绍了初始化方式、WPF依赖属性等,方法介绍了运算符重载、分部方法、扩展方法以及与方法相关的命名参数、可选参数、方法的JIT编译原理等。  第一节   、字段与属性的初始化方式汇总 1、对象与集合初始化器:可初始化部分的字段。 A obj3 = new A{IntValue = 100}; &nb
http://cyqdata.cn/cnblogs/article-detail-36716 
面向对象实践之路-提升抽象层次
多少次有人问我如何构建一个比较好的类阶层次,如何使用面向对象进行设计,或者问为什么我看了那么多面向对象和设计模式的书一到使用的时候却总是写出面向过程的代码。每当我碰到这些问题的时候我总是回答,其实我也不知道。真的,其实我也不知道。 虽然我总是张口闭口面向对象,总是看到一个问题后就谈这个有点XXX模式的影子,但大部分时候碰到一个问题我还是一片空白,不知道如何去分析设计和实现出好的面向对象。所以,我
http://cyqdata.cn/cnblogs/article-detail-36712 
《.NET4.0 面向对象编程漫谈》读书笔记 ——第2章 数据类型趣谈
【简述:】      本章主要谈了值类型与引用类型。其中值类型讲述了BigInteger、Nullable<T>,引用类型讲述了String。通过Object类型值类型与引用类型建立关联。最后谈了用途极广的泛型。  第一节 数值类型的使用  1、  数值类型的自动转换与强制转换当数值类型由&ldq
http://cyqdata.cn/cnblogs/article-detail-36633 
更佳的封装之路--面向对象的封装思想
因为最近用面向对象做迷宫,思考了许多问题。然后今天又看了系统分析的一些书,有了若干领悟,在此拿出来与诸位博友分享。   关于封装的领悟: key 1。封装的目标:封装易变动的部分。(前人的经验总结) key 2。尽可能精确地定位变动。(威老的升华)   封装的好处就是可以减少变动对整个系统带来的影响,并且可以有效地控制系统的复杂程度。 PC机的封装就是一个很经典的例子,我们只需
http://cyqdata.cn/cnblogs/article-detail-36220