Observer ¹Û²ìÕßģʽ £¨HeadFirstÉè¼ÆÄ£Ê½ c#£©
Observer.cs
using System;
using System.Text;
using System.Collections.Generic;
namespace Observer
{
public interface ISubject
{
void RegisterObserver(IOvserver o);
void RemoveObserver(IOvserver o);
void NotifyObserver();
}
public interface IOvserver
{
void update(float temp, float humidity, float pressure);
}
public interface IDisplayElement
{
void display();
}
public class WeatherData:ISubject
{
private List<IOvserver> obList;
private float temperature;
private float humidity;
private float pressure;
public WeatherData()
{
obList = new List<IOvserver>();
}
public void RegisterObserver(IOvserver o)
{
obList.Add(o);
}
public void RemoveObserver(IOvserver o)
{
if (obList.IndexOf(o) >= 0)
{
&nb
Ïà¹ØÎĵµ£º
ÉÏÆªÎÄÕÂÖÐ˵µ½Ê²Ã´ÊÇ Cache¶ÔÏó£¬ÈçºÎÔÚASP.NETÖÐʹÓà Cache¶ÔÏó¡£ÏÂÃæÎÒÃÇÀ´ËµËµÈçºÎÔÚASP.NETÖÐɾ³ýÏî¡£
ASP.NET Cache ¶ÔÏóÉè¼ÆÓÃÓÚ±£Ö¤Ëü²¢²»Ê¹Óùý¶àµÄ·þÎñÆ÷ÄÚ´æ¡£½á¹ûÊÇ£¬µ±ÓÃÄÚ´æ±äµÃȱ·¦Ê±£¬Cache¶ÔÏó×Ô¶¯É¾³ý×îÉÙ±»Ê¹ÓõÄÏî¡£Äã¿ÉÒÔͨ¹ý¶¨Òåʱ¼äÏÞÖÆ¡¢ÒÀÀµÏî¡¢ÒÔ¼°Ïî
ÔÚCache¶ÔÏóÖеÄÓÅÏȼ¶À´Ó°Ïì Cache¶ÔÏó±£ ......
ʲôÊÇCache¶ÔÏó?
ÄãÔÚÉú³É¸ßÐÔÄÜÍøÂçÓ¦ÓóÌÐòʱËùÓöµ½µÄÒ»¸öÎÊÌâ¾ÍÊÇÐèÒª±ÜÃâÖØ¸´¡£Ò»¸öCache¶ÔÏóÔÊÐíÔÚËüÃǵÚÒ»´Î±»ÇëÇóʱÔÚÄÚ´æÖлº´æÏȻºó½«±»»º´æµÄ¸±±¾ÓÃÓÚÒÔºóµÄÇëÇó¡£Ê¹Óñ»»º´æµÄ¸±±¾ÔÊÐíÄã±ÜÃâÖØ½¨Âú×ãÒÔǰÇëÇóµÄÐÅÏ¢£¬ÌرðÊÇÄÇЩÿ´Î´´½¨Ê±¶¼ÐèÕ¼ÓÐÃ÷ʾµÄ·þÎñÆ÷ÉϵĴ¦ÀíÆ÷ʱ¼äµÄÃüÁî¡£
³ý»º´æ¸ö±ðÏÈç» ......
Ê×ÏÈдһ¸öÒ³Ãæ£¬ÉÏÃæÒª·ÅÒ»¸öButton
<html>
<head>
<title></title>
</head>
<body>
<input id="Button1" type="button" value="button" />
</body>
</html>
½«Æä±£´ ......
ÓÉÓÚÏîÄ¿ÐèÒª£¬Óõ½ÆäËûÏîÄ¿×éÓÃVC¿ª·¢µÄ×é¼þ£¬ÔÚwebºǫ́´úÂëÎÞ·¨·ÃÎÊÕâ¸ö×é¼þ£¬ËùÒÔÖ»ºÃͨ¹ýºǫ́µ÷ÓÃǰ̨µÄjavascript£¬´Ó¶ø²Ù×÷Õâ¸ö×é¼þ¡£ÔÚÍøÉÏÕÒÁËÕÒ£¬·¢ÏÖÓÐÈýÖÖ·½·¨¿ÉÒÔ·ÃÎʵ½Ç°Ì¨´úÂ룺
µÚÒ»ÖÖ£¬OnClientClick (vs2003²»Ö§³ÖÕâ¸ö·½·¨)
<asp:Button ID="Button1" runat="se ......