用AspJpeg组件,按宽高比例,真正生成缩略图

laifangsong's .NET blog

取长补短,精益求精。 (打个广告,想做手机网站和asp/asp.net网站的可以跟我联系.QQ:25313644)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

接口:猫、老鼠、主人面试题的接口实现

Posted on 2006-04-15 14:45  laifangsong  阅读(404)  评论(0编辑  收藏  举报
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace AspNetTest.Common
{
    
/// <summary>
    
/// Define_Delegate_CatMouse_Interface 的摘要说明。
    
/// </summary>

    public class Define_Delegate_CatMouse_Interface : System.Web.UI.Page
        
{
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            Cat1 cat 
= new Cat1();
            Mouse1 mouse1 
= new Mouse1(cat, "老鼠1");
            Mouse1 mouse2 
= new Mouse1(cat, "老鼠2");
            Master1 master 
= new Master1(cat);
            cat.Shout();
            
// 在此处放置用户代码以初始化页面
        }

    
        
public interface IAffectSubject
        
{    
            
void Response();
        }

        
public interface IOperateAffectSubject
        
{
            
void AddAffectSubject(IAffectSubject affectSubject);
        }

        
public class Master1 : IAffectSubject
        
{
            
public Master1(IOperateAffectSubject iOperateAffectSubject)
            
{
                iOperateAffectSubject.AddAffectSubject(
this);
            }

            
public void Response()
            
{
                HttpContext.Current.Response.Write(
"主人醒了!<br>");                                    
            }

        }

        
public class Mouse1 : IAffectSubject
        
{
            
public Mouse1(IOperateAffectSubject iOperateAffectSubject, string name)
            
{
                iOperateAffectSubject.AddAffectSubject(
this);
                
this.name = name;
            }

            
private string name;
            
public void Response()
            
{
                HttpContext.Current.Response.Write(name 
+ "跑了!<br>");                    
            }

        }

        
public class Cat1 : IOperateAffectSubject
        
{
            
public Cat1()
            
{
                affectSubjects 
= new ArrayList();
            }

            
private ArrayList affectSubjects;
            
public void AddAffectSubject(IAffectSubject affectSubject)
            
{
                affectSubjects.Add(affectSubject);
            }

            
public void Shout()
            
{
                HttpContext.Current.Response.Write(
"猫大叫!<br>");
                
foreach(IAffectSubject subject in affectSubjects)
                
{
                    subject.Response();
                }

            }

        }

        
        
Web 窗体设计器生成的代码
    }

}