??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产激情,粉嫩在线一区二区三区视频,国产在线精品免费avhttp://www.aygfsteel.com/jaunt/category/25207.html站在巨h的肩?lt;br> Flying in the world of Javazh-cnFri, 12 Oct 2007 10:33:04 GMTFri, 12 Oct 2007 10:33:04 GMT60设计模式之Proxy——买篇(?http://www.aygfsteel.com/jaunt/archive/2007/10/12/152368.htmlJauntJauntFri, 12 Oct 2007 08:04:00 GMThttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152368.htmlhttp://www.aygfsteel.com/jaunt/comments/152368.htmlhttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152368.html#Feedback0http://www.aygfsteel.com/jaunt/comments/commentRss/152368.htmlhttp://www.aygfsteel.com/jaunt/services/trackbacks/152368.html今年q年手气好,打牌赢了100块, 我得意的W,我得意的W,M一个字“?#8221;。因为往q打牌从没赢q啊Q我高兴的回到家里,q没{我开口报告战况,老婆撂给我一句话“我弟要回上vQ你l买 张票吧?#8221;我心里虽然不高兴Q但怸却表现出很开心的样子Q立ȝ坚定语气说到Q?#8220;请领导放心,保证完成dQ?#8221;。保证归保证Q可是大q年的票也确实难 乎ͼ在经q一番挫折后Q呜呜)Q我只好L贩子(ProxyQ?/span>

说到代理q个词,大家可能都不陌生Q其实现在社会上的好多中介也可以理解成ؓ代理Q说白了是帮你办事Q拿中介费而已?/span>

1、在q里Q先把买这个活动定义成一个接口(BuyTicketQ类Q?/span>

public interface BuyTicket {

  public void  buyTicket();

}

2、下面我们要对这两个接口q行实现

AQ正常情况下的买活动(NormalBuyTicketQ类Q?/span>

public class NormalBuyTicket implements BuyTicket{

  public void  buyTicket(){

     System.out.println("买火车票Q?/span>");

  }

}

BQ代理情况下的买活动(ProxyBuyTicketQ类Q?/span>

//当不能直接访?/span>NormalBuyTicket对象Ӟ必须要用代理对象

public class ProxyBuyTicket implements BuyTicket{

  private NormalBuyTicket normalBuyTicket;

  public void  buyTicket(){

     if(normalBuyTicket==null){

       normalBuyTicket = new NormalBuyTicket();

     }

     normalBuyTicket.buyTicket(); 

     getMoney();

  }

  public void getMoney(){

     System.out.println("获得代理费!");

  }

}

3、编写测试类Q?/span>

public class Test {

  public static void  main(String args[]){

    BuyTicket buyTicket = new ProxyBuyTicket();

    buyTicket.buyTicket();

  }

}

4、说明:

AQ?/span>定义Q?/span>为其他对象提供一U代理以控制对这个对象的讉K。也是说当我们不能直接讉K我们惌问的对象Ӟ必须通过一个代理对象来讉K?/strong>

BQ在本例中,我想买票Q但当我直接C到票Ӟ只好通过贩子来乎ͼq个道理应该谁都知道啊?/span>

5、后讎ͼ

最l通过贩子,我获得了ML,老婆很高_q说我很能干Q但是我付出?/span>100元的代理费,我到底该哭还是该W呢Q但又想一下:“?/span>100元让老婆表扬我,说我很能qԌ也不错啊Q你说呢Q嘿?#8221;?/span>



Jaunt 2007-10-12 16:04 发表评论
]]>
学习设计模式之我??http://www.aygfsteel.com/jaunt/archive/2007/10/12/152367.htmlJauntJauntFri, 12 Oct 2007 08:02:00 GMThttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152367.htmlhttp://www.aygfsteel.com/jaunt/comments/152367.htmlhttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152367.html#Feedback0http://www.aygfsteel.com/jaunt/comments/commentRss/152367.htmlhttp://www.aygfsteel.com/jaunt/services/trackbacks/152367.html 设计模式做ؓE序员的“内功心法”Q越来越受到.net C֌的重视,q种变化是很可喜的,JavaC֌走在了我们的前面Q但q种状况也许有一天会发生改变?br />
在学习模式时Q两U声x一定会遇到?
1?#8220;无招胜有招,无招才是最高境?#8221;Q?br /> 2?#8220;q分设计”?br />
q两U声音都是正的Q但如果初学模式者就惦记着q两条,却未必对你的学习和成长有利?br />
“无招?#8221;者,设计原则是精髓,各种模式只是实招Q做Z个高手,应得光Q忘其招Q决胜于随机应变中,于千变万化随心所Ʋ中。此十分之正,? 件工E的巨h们归U的设计原则是优U软g工程的内在规律,模式是种U原则的具化Q学模式者十分应该得此髓Q特别是那些在每U模式中都能看到的原则,更应? 你的思维与之l合?br /> 但初学者,h?#8220;你是武林高手了吗”先,在没有深入了解和体味?3U设计模式之前,你可以知道诸多设计原则,但你未必知道在设计中怎样d现这些原则,怎样ȝ合这些原则?br /> “模式”是模式Q名字就意味着?#8220;?#8221;的东西,你还没有“入死”Q就想着“出生”了,未免有超前之嫌?br />
“q分设计”论是典型的以辨证法从另一个方面思考模式的使用。L证法太伟大了Q几乎可以应用于所有的事情Q当然它应用于设计模式也是合适的Q?#8220;q分设计”也是一U正和健康的观炏V?br /> 不过我的观察,生活中两Uh比较喜欢使用辨证法,一U是有丰富经验的专家Q一U是对一件事情根本没有深入根本不怎么了解的h。专家用L证法来看问题Q? 使得他更“专家”Q另一UhQ就像一个还不会走\的小孩在想着“我不能跑得太快,会摔跤的”----不论他想得对不对Q但q种x于他学走路是丝毫无益? 的?
“q分设计”q是{到你真的觉?#8220;q分”了的时候再L吧,你还“设计不”呢,想着“q分设计”为哪般呢Q?br /> q有些hQ视设计模式为条条框框,与自?#8221;热爱民主与自?#8221;的理想相ȝq,但唐朝已去,李白不在Q天马行I未必能?#8220;飞流直下三千?#8221;的成,q是老老实实,脚踏实地Q先扶着墙走E了先?/span>

Jaunt 2007-10-12 16:02 发表评论
]]>
Factory(工厂)模式http://www.aygfsteel.com/jaunt/archive/2007/10/12/152323.htmlJauntJauntFri, 12 Oct 2007 05:37:00 GMThttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152323.htmlhttp://www.aygfsteel.com/jaunt/comments/152323.htmlhttp://www.aygfsteel.com/jaunt/archive/2007/10/12/152323.html#Feedback0http://www.aygfsteel.com/jaunt/comments/commentRss/152323.htmlhttp://www.aygfsteel.com/jaunt/services/trackbacks/152323.html工厂模式Q客L和工厂类分开。消费者Q何时候需要某U品,只需向工厂请求即可。消费者无M改就可以接纳C品。缺Ҏ当品修ҎQ工厂类也要做相应的修改。如Q如何创建及如何向客L提供?br />
E序代码 E序代码
  public class Factory{
    public String Boy = "boy" ;
    public String Girl = "girl" ;
    public People getPeople(String people){
      if (people.equals("boy")){
        return new Boy();
      }else if(people.equals("girl")){
        return new Girl();
      }
    }
  }


Jaunt 2007-10-12 13:37 发表评论
]]>
设计模式之Facade(门面)http://www.aygfsteel.com/jaunt/archive/2007/09/04/142711.htmlJauntJauntTue, 04 Sep 2007 09:58:00 GMThttp://www.aygfsteel.com/jaunt/archive/2007/09/04/142711.htmlhttp://www.aygfsteel.com/jaunt/comments/142711.htmlhttp://www.aygfsteel.com/jaunt/archive/2007/09/04/142711.html#Feedback0http://www.aygfsteel.com/jaunt/comments/commentRss/142711.htmlhttp://www.aygfsteel.com/jaunt/services/trackbacks/142711.html 1、说明:

AQ?/span>Facade的定?/span>: 为子pȝ中的一l接口提供一个一致的界面?/span>

BQ?/span>使用l一对外接口Q可以降低系l的复杂?/span>,增加了灵zL?/span>

     CQ从下面例子中可以看刎ͼ外界只是讉K了家庭对外展玎ͼFamilyOutShowQ类Q而没有直接与成员cL交道。这h如说增加了一个新的成员类Q比如说儿子Q?/span>SonQ?nbsp;
     c)Q只要修改家庭对外展玎ͼ
FamilyOutShowQ类卛_Q而不用修改调用?br />

2?nbsp;在这里,先定义家庭的各个成员c:

dQ?/span>WifeQ:

public class Wife {

 protected Wife() {

    System.out.println("老婆伟大 !");

 }

}

奛_Q?/span>DaughterQ:

public class Daughter {

 protected Daughter () {

    System.out.println("奛_可爱 !");

 }

}

我(MeQ:

public class Me {

  protected Me() {

    System.out.println("我爱我家 !");

 }

}

3、定义家庭对外展玎ͼFamilyOutShowQ类Q?/span>

public class FamilyOutShow {

 public void MyFamily() {

    Wife myWife = new Wife();  //我的老婆

    Daughter myDaughter = new Daughter ();  //我的奛_

    Me me= new Me();  //我自?/font>

 }

}

4、编写测试类Q?/span>

public class MyFamilyTest {

 public static void main(String[] args) {

      FamilyOutShow myFamily = new FamilyOutShow ();

      myFamily.MyFamily();

 }

}


LinkUrl: http://tb.blog.csdn.net/TrackBack.aspx?PostId=131054




Jaunt 2007-09-04 17:58 发表评论
]]>
վ֩ģ壺 ڳ| | Т| | | ƽ| Ȫ| | ԫ| Ϫ| | пǰ| | Ʊ| ͻȪ| | Т| | з| | Ȫ| н| ޻| Ͳ| ʯ| | | | ֶ| | ȫ| | ۰| | | | | | | | ͷ|