亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        軟件工程:實(shí)例化適配器(Adapter)模式

        字號(hào):

        結(jié)構(gòu)模式:描述如何將類或者對(duì)象組合在一起形成更大的結(jié)構(gòu)。
            適配器模式:把一個(gè)類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類能夠在一起工作。
            使用場(chǎng)合:
            1)系統(tǒng)需要使用現(xiàn)有的類,而此類的接口不符合系統(tǒng)的需要。
            2)想要建立一個(gè)可以重復(fù)使用的類,用于與一些彼此之間沒有太大關(guān)聯(lián)的一些類,包括一些可能在將來(lái)引進(jìn)的類一起工作。這些源類不一定有很復(fù)雜的接口。
            3)(對(duì)對(duì)象的適配器模式而言)在設(shè)計(jì)里,需要改變多個(gè)已有的子類的接口,如果使用類的適配器模式,就要針對(duì)每一個(gè)子類做一個(gè)適配器類,而這不太實(shí)際。
            類/對(duì)象的適配器模式:
            1. com.cleversoft.designpatterns.adapter.Target.java:
            package com.cleversoft.designpatterns.adapter;
            public interface Target {
            public void request();
            }
            2. com.cleversoft.designpatterns.adapter.Adaptee.java:
            package com.cleversoft.designpatterns.adapter;
            public class Adaptee {
            public void specificRequest() {
            System.out.println("Adaptee: SpecificRequest");
            }
            }
            3. com.cleversoft.designpatterns.adapter.ClassAdapter.java:
            package com.cleversoft.designpatterns.adapter;
            public class ClassAdapter extends Adaptee implements Target {
            public void request() {
            specificRequest();
            }
            }
            4. com.cleversoft.designpatterns.adapter.ObjectAdapter.java:
            package com.cleversoft.designpatterns.adapter;
            public class ObjectAdapter implements Target {
            private Adaptee adaptee;
            public ObjectAdapter(Adaptee adaptee) {
            this.adaptee = adaptee;
            }
            public void request() {
            adaptee.specificRequest();
            }
            }
            5. com.cleversoft.designpatterns.adapter.Client.java:
            package com.cleversoft.designpatterns.adapter;
            public class Client {
            public static void main(String[] args) {
            System.out.println("Object Adapter");
            Adaptee adaptee = new Adaptee();
            ObjectAdapter objectAdapter = new ObjectAdapter(adaptee);
            objectAdapter.request();
            System.out.println("Class Adapter");
            ClassAdapter classAdapter = new ClassAdapter();
            classAdapter.request();
            }
            }