哪位大神知道这是什么设计模式?还是只是一种设计技巧?
本人对设计模式一知半解,今天看到项目代码里有这用写法,目的就是让下层的B类,回头访问上层A类的成员,请问有没有人知道这是什么模式?
#include <iostream>
using namespace std;
class BListener {
public:
virtual ~BListener() {}
virtual void listener() = 0;
};
class B {
public:
BListener *m_listener;
B(BListener *listener = NULL) {
m_listener = listener;
}
void foo() { //需要访问A中的成员变量
if(m_listener) {
m_listener->listener();
}
}
};
class A : public BListener {
public:
void onNotify() {
//访问A的成员变量
}
void listener() {
onNotify();
}
public:
B b;
};
int main() {
A a;
return 0;
}
...全文
相关推荐
设计模式面试专题.zip
设计模式面试专题.zip
designpattern:设计模式
designpattern 设计模式 觉得看总结太单调,fork下来看看代码吧。 前情提要——简单工厂 简单工厂不是一个标准设计模式。 让客户端只知道接口、不知道具体实现,而设计工厂方法来生成具体实现的实例。把new Impl()放到工厂中,组件对外暴露的内容发生了改变,有质的变化。 1、时序步骤 客户端调用工厂静态方法创建接口 工厂根据传参、配置文件或持久化的值来选择并创建具体接口实现的实例并返回 客户端调用接口方法进行处理 2、多态来源种类 来源于客户端传入参数——客户端需要感知参数,一定程度上暴露了实现的种类 来源于配置文件——需要静态配置,J2EE的spring中常配置XML 来源于运行时的某个值,如缓存或DB 如果多态从配置文件中读入,如下: public static Api createApi() { // 从配置文件读入 Properties p = new Pro
DesignPattern:设计模式
设计模式 设计模式
DesignPattern设计模式
DesignPattern 设计模式,共10章。内容详细,案例设计齐全。对设计可复用的面向对象的软件很有帮助,有助你写出又质量,并且可重复使用的高品质软件
DesignPattern:设计模式样本
设计模式 设计模式样本 Java中的Singleton 2路静态嵌套类和syncranaizd 静态嵌套类在Java中更受欢迎


模式及实现

