1. 引言
项目的失败大多数都是由差强人意的需求、规划和管理所导致的。但是,当项目确由技术因素导致失败时,其原因通常就是失控的复杂度。 ----《代码大全》
2. 日常生活人们解决的复杂问题的途径
1) 分解复杂问题;
2)团队内协作,各司其职;
3)几个团队的合作,分工明确,各团队由接口人负责团队间协作。团队间交互形成协议;
3. 层 或 子系统
1)在软件领域无处不再的层(所谓的银弹);
2)是一种抽象:上层不用关注下层的实现;联想7层tcp/ip协议,linux的虚拟文件系统给我们隐藏了不同文件系统的差异,提供统一的系统调用接口。
3) 分层结构,层次职责明确,各层直接耦合度底,交互协议明确。
4 )建立中心控制点。
4. 包和类
1) 类的基础: 是现实世界中的对象建模的过程,是对数据和方法的抽象,封装。 是降低和隔离软件复杂度的最有效表现;`
2) 类的职责明确;功能内聚。
3) 封装容易改变的区域,让变化的影响范围最小化。
4)类的命名: 名+动词 或
3) 不要公开不必要的数据,尽量多的隐藏自己;
5. 方法
1) 职责明确,小即使美。
3) 隐藏自己:别有意报漏自己的行踪。
4) 隔离变化;
5) 方法的命名:准确描述方法做的所有事情。 动词和宾语;(不需要再类名中的名词)
6) 防御式编程
7) 利用掌握函数式编程思想;
8) 方法的长度: 15行左右吧;
6. 提高编程代码的速度
1)分解问题的能力,也就是划分层次,类职责,方法职责的抽象能力。(最开始不要考虑设计模式,功能完成后,再去重构,相信前边的做好了,美的代码会自然的写出来)
2)学会利用封装的武器,应对需求的变化。(隔离变化)
3) eclipse 的快捷键。试着让自己少用鼠标;
总结: 编程不是机械的过程,程序员也像画家一样。用面向对象思想武装自己,以编程语言为媒介,让自己的思想跃然屏幕之上。
分享到:
相关推荐
在五子棋游戏开发中,采用面向对象的思想,我们可以将棋盘、棋子、玩家等抽象成对象。每一个对象都有自己的属性和方法,如棋盘对象可能有显示、初始化等方法,棋子对象可能有落子、判断位置等方法。玩家对象则可以...
本文将探讨如何在C语言开发中应用面向对象思想,以及相关技术与实践。 首先,面向对象思想的核心概念包括封装、继承和多态。封装是将数据和操作数据的方法结合成一个独立的单元,即对象,对外隐藏对象的实现细节,...
面向对象的程序设计方法强调的是自底向上的功能综合,其核心思想是通过识别和建模现实世界中的对象及其相互关系来解决问题。这一方法论首先关注的是“用什么做”,即识别和定义应用程序中的基本组成单元——对象和类...
面向对象设计思想是一种重要的软件工程方法论,它改变了传统面向过程的编程模式,引入了一种更为灵活、模块化和可重用的编程方式。本文旨在深入探讨面向对象的基本概念、核心原则及其在软件开发中的应用。 ### 面向...
在IT行业中,面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛采用的编程范式,尤其在C#这样的强类型语言中更是如此。本文将深入探讨C#中的面向对象特性,主要包括Singleton单例模式、Builder生成器...
面向对象编程思想认为,设计应该围绕对象以及对象之间的关系进行。对象之间的主要关系是关联(两个对象之间有联系)、聚合(一个对象是另一个对象的一部分)和继承(一个类从另一个类继承属性和方法)。继承允许创建...
在IT行业中,面向对象设计模式是软件开发中的...文档“20051011--C#面向对象设计模式纵横谈(1):面向对象设计模式与原则.doc”可能提供了更多关于设计模式与原则的深入讨论和实例分析,是进一步学习的重要参考资料。
面向对象编程(OOP)作为软件工程中的一种核心思想,旨在提高代码的复用性和模块化程度。尽管JavaScript本身并不是一种传统的面向对象语言,但其独特的特性允许开发者采用面向对象的方式编写代码。本文将深入探讨...
面向对象编程(OOP)是程序设计的一个核心思想,它通过使用对象、类、继承、多态和封装等概念来设计应用程序。OOP的核心优势在于代码的重用性、模块化以及维护性。 工厂模式是一种创建型设计模式,它提供了一种创建...
"浅谈Java面向对象程序设计" Java是一种面向对象的高级编程语言,其核心思想是模拟现实生活中的求解过程。面向对象程序设计是人类思维自然化的结果,是从低级到高级的发展结果。在Java语言中,面向对象内容主要包括...
### C#面向对象设计模式纵横谈 #### 4. Builder 生成器(创建型模式) 在探讨面向对象设计模式时,我们已经了解了抽象工厂模式(Abstract Factory)是如何帮助我们处理一系列相互依赖的对象创建问题。接下来,我们...
书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器...
Oracle8i作为Oracle的一个重要版本,它引入了面向对象的编程思想,创建了一个对象-关系数据库管理系统(ORDMS),兼顾了关系数据库的稳定性和面向对象数据库的灵活性。通过Oracle8i,用户可以创建和使用自定义的对象...
一、了解面向对象 1、概念基本理解:1)、一个个体可以看做是一个对象,例如:人这个个体; 2)、有共同属性的一类作为一个个体,例如:学生、白领、农民工; 3)、结构体是用户自定义的数据类型,可以定义不同数据...
在编程领域,面向对象设计模式是一种经过时间考验的优秀实践,它们是解决特定设计问题的通用解决方案。在C#中,设计模式的应用广泛且至关重要,尤其是对于构建可扩展、可维护的大型软件系统。本篇将深入探讨...
标题和描述均提到了"C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式",这明确指向了一个特定的设计模式——中介者模式(Mediator Pattern),并且是在C#语言环境下的应用。下面将详细阐述这一设计...