面向对象编程中的设计模式

最近在复习(预习)软考,看到了设计模式这个知识点,打算小做总结一下~~
设计模式(Design pattern):是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。

 

设计模式
创建型 结构型 行为型
对象 Factory Method Adapter_class

Interpreter  Template Method

Abstract Factory Adapter_obiect

Chain of Responsibility

Builder Bridge Command
Prototype Composite Iterator
Singleton Decorator Mediator
  Facade Memento
  Flyweight Observer
  Proxy State
    Strategy
    Visitor

 

设计模式分为三种类型,共23种。(红色标注常用的)
  创建型模式单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
  结构型模式适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
  行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

 设计模式的要素:

1) 模式名称(pattern name):助记名,描述模式的问题、解决方案和效果。

2)问题(problem):描述了应该在何时实用模式

3)解决方案(solution):描述了设计的组成成分。

4)效果(consequences):描述了模式应用的效果及使用模式应权衡的问题

 

创建型:抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例的类,而一个对象创建型模式将实例化委托给另一个对象。

结构型:采用继承机制来组合借口或实现。尤其有助于多个独立开发的类库协同工作。

 

行为型:涉及到算法和对象间职责的分配。不仅描述对象和类的模式,还描述它们之间的通信哦是。这些模式刻画了在运行时难以跟踪的复杂的控制流。使用继承机制在类间分配行为。

 

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

 

 1 //单例模式应用
 2 /****************************************************
 3 通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置
 4 文件汇总。应用西永在启动时首先将配置文件加载到内存中,这些内存
 5 配置信息应该有且仅有一份。应用单例模式以保证Configure类只能有
 6 一个实例。这样,Configure类的使用者无法定义该类的多个实例,否
 7 则编译出错。
 8 *****************************************************/
 9 #include<iostream>
10 class Configure{
11 protected:
12      Configure();
13 public:
14      static Configure*Instance();          //获取配置信息
15      int GetConfigureData(){return data;};      
16      int SetConfigure(int m_data){data=m_data;return data;};   //设置配置信息
17 private:
18      static Configure* _instance;
19      int data;                    //配置信息
20 }
21 
22 Configure::_instance=NULL;
23 
24 Configure*Configure::Instance(){
25      if(_instance==NULL){
26              _instance=new Configure();
27 //加载配置文件并设置内存配置信息的代码
28       }
29       return _instance;
30 }
31 
32 void main(){
33       Configure *t=NULL;
34       t=Instance();
35       int d=t->GetConfigureData();
36 //获取配置信息后进行其他工作的得到代码
37 }
单例模式实例

相关文章:

  • 2021-05-31
  • 2021-10-19
  • 2022-12-23
  • 2021-08-15
  • 2022-01-28
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2021-11-30
  • 2021-03-30
  • 2021-11-23
  • 2021-06-09
  • 2021-06-12
相关资源
相似解决方案