2012-07-17 06:02
⁄ 工业·编程
⁄ 共 2927字
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
类型:创建类模式
类图:
工厂方法模式代码
interface IProduct { public void productMethod(); }
class Product implements IProduct { public void productMethod() { System.out.println("产品"); ...
设计模式, 软件开发阅读全文
2012-07-17 05:58
⁄ 工业·编程
⁄ 共 2455字
定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
类型:创建类模式
类图:
类图知识点:
1.类图分为三部分,依次是类名、属性、方法
2.以<<开头和以>>结尾的为注释信息
3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。
4.带下划线的属性或方法代表是静态的。
5.对类图中对象的关系不熟悉的朋友可以参考文章:设计模式中类的关系。
单例模式应该是23种设计...
设计模式, 软件开发阅读全文
2012-07-16 22:38
⁄ 工业·编程
⁄ 共 420字
我们在进行需求分析时,总是在划分功能模块,子模块、等等,为何要进行划分,如何来实现?
就我理解来说,模块的划分是对所做功能的抽象,好的模块划分可以指导函数的设计,因为对于一个模块来说,具有输入和输出,功能,内部数据。那这个模块就可以作为一个供控制过程调用的函数
而对于类的设计,我们是在模块分析的基础上,将模块公共的方法、函数进行抽象,这个可...
软件开发阅读全文
2012-07-15 23:06
⁄ 工业·编程
⁄ 共 755字
1. 什么是设计模式?
设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。
2. 什么是面向对象设计模式?
面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。
3. 为什么提出(面向对象)设计模式(设计模式的意义和目的)?
应对需求变化,提高代码复用。面向对象设计模式解决的是“类与相互通信的对象之间的组织关系,包...
软件开发阅读全文
2012-07-15 23:02
⁄ 工业·编程
⁄ 共 1440字
关于GOF的23种设计模式许多人已经耳熟能详,这段时间把程杰的《大话设计模式》过了一遍,略有感悟,和大家共勉。
首先看一下模式的定义:
模式:在某情境下,针对某问题的某种解决方案。
情境:应用某个模式的情况。这应该是不断重复出现的情况。 问题:你想在某情境下达到的目标,但也可以是某情境下的约束。 解决方案:这是我们的目标。一个通用的设计,用来解决约束,达到目标。
...
软件开发阅读全文
2012-07-15 22:30
⁄ 工业·编程
⁄ 共 7654字
本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消 息是,它们并不怎么神秘。 引言 C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参考资...
软件开发阅读全文
2012-07-15 22:25
⁄ 工业·编程
⁄ 共 490字
头五项原则是关于类设计的,它们是:
◆ SRP,单一职责原则,一个类应该有且只有一个改变的理由。 ◆ OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。 ◆ LSP,Liskov替换原则,派生类要与其基类自相容。 ◆ DIP,依赖倒置原则,依赖于抽象而不是实现。 ◆ ISP,接口隔离原则,客户只要关注它们所需的接口。
另外的六项是关于包的设计原则。在本文中,包...
软件开发阅读全文
2012-07-15 22:13
⁄ 工业·编程
⁄ 共 1578字
开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
1988年,Bertrand Meyer在他的著作《Object Oriented Software Construction》中提出了开闭原则,它的原文是这样:“Software entities should be open for extension,but closed for modification”。翻译过来就是:“软件实体应当对扩展开放,对修改关闭...
软件开发阅读全文
2012-07-15 22:05
⁄ 工业·编程
⁄ 共 3825字
单一职责就是指一个类应该专注于做一件事。现实生活中也存在诸如此类的问题:“一个人可能身兼数职,甚至于这些职责彼此关系不大,那么他可能无法做好所有职责内的事情,所以,还是专人专管比较好。”我们在设计类的时候,就应该遵循这个单一职责原则。
记得有人比喻过软件开发、设计原则、设计模式之间的关系就是战争、战略和战术的关系,关于设计模式实际上是设计原则的具体应用,以后我...
软件开发阅读全文
2012-07-15 22:02
⁄ 工业·编程
⁄ 共 631字
采用面向对象的分析和设计思想,为我们分析和解决问题提供了一种全新的思维方式。我们在拿到需求之后(略去OOA,以后补全),接下来的问题就是:如何对系统进行面向对象的设计呢? 按照软件工程的理论,面向对象的设计要解决的核心问题就是可维护性和可复用性,尤其是可维护性,它是影响软件生命周期重要因素。通常情况下,软件的维护成本远远大于初期开发成本。 一个可维护性很差的软件设计,人们通常称...
软件开发阅读全文