设计模式(一)

1. 简单工厂模式

利用多态,建立一工厂,管理对不同逻辑类的实例化。

example:

 1 #include <iostream>
 2 
 3 class f
 4 {
 5 public:
 6     virtual void show() = 0;
 7 };
 8 
 9 class s1 : public f
10 {
11 public:
12     void show()
13     {
14         std::cout << "s1" <<std::endl;
15     }
16 };
17 
18 class s2 : public f
19 {
20 public:
21     void show()
22     {
23         std::cout << "s2" <<std::endl;
24     }
25 };
26 
27 class s3 : public f
28 {
29 public:
30     void show()
31     {
32         std::cout << "s3" <<std::endl;
33     }
34 };
35 
36 void Factory (f *&jiu, int num)
37 {
38     switch (num)
39     {
40     case 1:
41         jiu = new s1();
42         jiu->show();
43         break;
44     case 2:
45         jiu = new s2();
46         jiu->show();
47         break;
48     case 3:
49         jiu = new s3();
50         jiu->show();
51         break;
52     default:
53         jiu = NULL;
54     }
55 }
56 
57 int main ()
58 {
59     f *jiu = NULL;
60     Factory(jiu, 2);
61 
62     return 0;
63 }

2. 策略模式

建立纯需类,作为对外接口。

3. 单一职责原则

就一个类而言,应该仅有一个引起它变化的缘由。

4. 开放-封闭原则

可拓展、不可修改。

在我们最初编写代码时,假设变化不会发生;当变化发生时,我们就创建抽象来隔离以后发生的同类变化。我们的目标时:面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

 

posted @ 2016-08-24 17:54  jiu~  阅读(271)  评论(0编辑  收藏  举报