偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

.NET簡談靜態(tài)事件鏈

開發(fā) 后端
本文通過例子的介紹,讓讀者更容易明白靜態(tài)事件鏈。一起來看。

在我們?nèi)粘i_發(fā)過程中經(jīng)常會遇到多個類實例之間的關(guān)聯(lián),不管是B/S還是C/S的項目,在對實例的使用是一樣的;只不過C/S的項目比較好控制,不管是UI層的對象都能很好的控制,包括繼承、重寫等等;而在B/S里面可能不太方便。

由于B/S本身的特點,不能暴露內(nèi)部太多的繼承關(guān)系,以免不小心破壞類的封閉性;我這篇文章主要是討論在多個類實例之間怎么進行動態(tài)關(guān)聯(lián),比如我們在開發(fā)Winform項目的時候,可能會碰到兩個或多個窗口之間協(xié)同工作的情況;本人在這種情況下采用的是靜態(tài)事件鏈的解決方案,多個實例之間不存在主次之分,有人肯定會覺得在一個類中定義事件,在調(diào)用的類中去實例化并訂閱相關(guān)事件;這樣解決不了多實例互操作的關(guān)系。

比如:我有五個窗口分布在主界面中,當(dāng)我點擊菜單欄中的一個刷新按鈕時,想讓這五個窗口同時刷新,這樣一來就必須讓這五個窗口實例都訂閱來自一個地方的事件;我為什么用靜態(tài)事件,就是為了方便多實例使用。

1、

靜態(tài)事件鏈

 

2:

解決方案

 

3:

靜態(tài)事件鏈定義 

 

圖3中是靜態(tài)事件鏈類的定義,定義一個靜態(tài)事件好一個靜態(tài)方法,注意本人在該類中也訂閱了ClickEvent事件,就是怕沒有任何實例訂閱這個靜態(tài)事件,然后又觸發(fā)了這個事件,導(dǎo)致空地址封送失敗,也就是空引用調(diào)用;

4:

 

圖4是模擬窗口的一個實現(xiàn),在構(gòu)造函數(shù)中我們訂閱了靜態(tài)事件鏈中的一個ClickEvent事件;其余四個窗口都是一樣的,我就不貼圖片了;

5:

模擬窗口的實現(xiàn)

 

6:

五個窗口的實現(xiàn)

 

7:

運行窗口的效果

 

靜態(tài)事件鏈就講完了,通過一點觸發(fā)多點的好方法,在我們開發(fā)過程中經(jīng)常用到。

【編輯推薦】

  1. 程序員轉(zhuǎn)型指南 當(dāng)Java遇見了Objective-C
  2. Java中的四個核心技術(shù)思想
  3. Java新手入門的30個基本概念
  4. 常見的十四種Java開發(fā)工具的特點
  5. Java開發(fā)者需要注意的十條法則
責(zé)任編輯:于鐵 來源: cnblogs.com
相關(guān)推薦

2011-07-28 09:50:58

設(shè)計模式

2010-09-02 15:34:25

DHCP協(xié)議

2009-11-12 10:37:23

Visual Stud

2012-08-13 10:37:04

2010-08-23 10:26:03

設(shè)置DHCP

2010-07-16 17:54:18

CygWin Teln

2010-05-06 10:14:31

負(fù)載均衡器

2010-09-08 09:32:22

SIP協(xié)議是什么

2010-03-18 14:40:34

ubuntu DIY

2010-09-28 15:37:11

多VLAN DHCP服

2010-07-12 17:20:16

2010-09-26 14:12:17

DHCP服務(wù)器操作

2010-04-28 16:26:45

Windows負(fù)載均衡

2013-08-22 17:17:39

.Net事件

2010-08-27 09:00:10

DHCP服務(wù)器遷移

2010-07-26 15:40:18

Telnet連接

2010-09-09 17:49:27

TFTP路由器

2010-09-01 10:56:57

DHCP服務(wù)器

2009-10-13 14:38:15

.NET重寫URL

2011-06-16 14:38:18

JavaScript事件委托
點贊
收藏

51CTO技術(shù)棧公眾號