当要实现不同窗体之间的通信时可用单例模式
2016-12-26 16:01
381 查看
一直被一个问题困扰了很久,
就是,在我仿写一个qq时,通过主面板new的一个添加好友窗体,
然后完成了添加好友这个事件时,不知道怎么来响应这个子窗体的事件,完成好友列表的刷新。
后来突然想起,可以用单利模式声明列表页。
在添加好友的页面调用getInstance来声明一个列表页。
最后调用刷新的方法。
private FriendListModel() {}
private static FriendListModel single=null;
//静态工厂方法
public static FriendListModel getInstance(ArrayList<Fenzu> fenzu, ArrayList<Haoyou> haoyou, User user) {
if (single == null) {
single = new FriendListModel(fenzu, haoyou, user);
}
return single;
}
*******************************************************************
fl=FriendListModel.getInstance(fenzu1, haoyou, user);
fl.RefFenzu();
就是,在我仿写一个qq时,通过主面板new的一个添加好友窗体,
然后完成了添加好友这个事件时,不知道怎么来响应这个子窗体的事件,完成好友列表的刷新。
后来突然想起,可以用单利模式声明列表页。
在添加好友的页面调用getInstance来声明一个列表页。
最后调用刷新的方法。
private FriendListModel() {}
private static FriendListModel single=null;
//静态工厂方法
public static FriendListModel getInstance(ArrayList<Fenzu> fenzu, ArrayList<Haoyou> haoyou, User user) {
if (single == null) {
single = new FriendListModel(fenzu, haoyou, user);
}
return single;
}
*******************************************************************
fl=FriendListModel.getInstance(fenzu1, haoyou, user);
fl.RefFenzu();
相关文章推荐
- 三层交换实现不同VLAN之间的通信
- iOS平台下实现不同APP之间的通信
- 一个App架构例子分析--UI层使用MVP模式;各层之间使用Otto实现通信
- 多线程间通信和多进程之间通信有什么不同,分别怎么实现?
- 使用类似于中介者模式实现不同VC之间的跳转
- iOS平台下实现不同APP之间的通信
- 三层交换实现不同VLAN之间的通信
- Linux下的有名管道(05)---使用两个管道实现两个进程之间的通信(对讲机模式)
- 不使用路由器来实现不同网段(子网)计算机之间通信的方法
- C#Winform基础 应用委托传递函数实现不同窗体之间传值
- DataTracker -- 窗体之间的联动, 观察者模式的另类实现
- C#传值方式实现不同程序窗体间通信实例
- 三层交换实现不同VLAN之间的通信 推荐
- Linux下的有名管道(06)---使用两个管道实现两个进程之间的通信(手机模式)
- Winpcap 包应用,实现不同IP网段之间通信,自定信息格式,加密。
- 如何实现不同数据存储模式之间的数据转换
- cisco2801和cisco2960交换机实现双adsl接入及划分vlan,vlan通过不同的adsl上网,策略路由实现vlan之间的通信
- 配置单臂路由实现不同vlan之间的通信
- 用广播(Broadcast)实现不同app之间的通信
- C# 使用MEF动态加载不同的userControl,并实现不同userControl之间通信