Design mode code comments are changed to English

https://github.com/huihut/interview/pull/73
This commit is contained in:
huihut
2020-12-16 16:07:24 +08:00
parent 8fe5157ae3
commit 3a9e2123aa
21 changed files with 78 additions and 78 deletions

View File

@@ -6,25 +6,25 @@
void ObserverMain()
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Create Subject
ConcreteSubject * pSubject = new ConcreteSubject();
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>
// Create Observer
IObserver * pObserver1 = new ConcreteObserver("Jack Ma");
IObserver * pObserver2 = new ConcreteObserver("Pony");
// ע<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>
// Attach Observers
pSubject->Attach(pObserver1);
pSubject->Attach(pObserver2);
// <EFBFBD><EFBFBD><EFBFBD>ļ۸񣬲<EFBFBD>֪ͨ<EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>
// Change the price and notify the observer
pSubject->SetPrice(12.5);
pSubject->Notify();
// ע<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>
// Detach Observers
pSubject->Detach(pObserver2);
// <EFBFBD>ٴθ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>
// Change the state again and notify the observer
pSubject->SetPrice(15.0);
pSubject->Notify();

View File

@@ -19,7 +19,7 @@ public:
}
private:
std::string m_strName; // 名字
std::string m_strName; // name
};
#endif //DESIGNPATTERN_CONCRETE_OBSERVER_H

View File

@@ -10,7 +10,7 @@
#include <iostream>
#include <list>
// 具体主题
// Specific Subject
class ConcreteSubject : public ISubject
{
public:
@@ -27,7 +27,7 @@ public:
{
m_observers.remove(observer);
}
// 通知所有观察者
// Notify all observers
void Notify()
{
std::list<IObserver *>::iterator it = m_observers.begin();
@@ -38,8 +38,8 @@ public:
}
}
private:
std::list<IObserver *> m_observers; // 观察者列表
float m_fPrice; // 价格
std::list<IObserver *> m_observers; // Observer list
float m_fPrice; // Price
};
#endif //DESIGNPATTERN_CONCRETE_SUBJECT_H

View File

@@ -5,11 +5,11 @@
#ifndef DESIGNPATTERN_OBSERVER_H
#define DESIGNPATTERN_OBSERVER_H
// 抽象观察者
// Abstract observer
class IObserver
{
public:
virtual void Update(float price) = 0; // 更新价格
virtual void Update(float price) = 0; // Update price
};
#endif //DESIGNPATTERN_OBSERVER_H

View File

@@ -10,9 +10,9 @@ class IObserver;
class ISubject
{
public:
virtual void Attach(IObserver *) = 0; // 注册观察者
virtual void Detach(IObserver *) = 0; // 注销观察者
virtual void Notify() = 0; // 通知观察者
virtual void Attach(IObserver *) = 0; // Attach observer
virtual void Detach(IObserver *) = 0; // Detach observer
virtual void Notify() = 0; // Notify observer
};
#endif //DESIGNPATTERN_SUBJECT_H