栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java设计模式-外观模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java设计模式-外观模式

外观模式概念

外观模式又称为门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个搞层次接口,使得这一个子系统更加容易使用。这一模式完美的体现了依赖倒转原则和迪米特法则的思想,所以是非常常用的模式之一。

外观模式UML图

外观模式代码
学习外观模式我使用的例子是一个打架的例子,打架一般都不希望被人看见,只要知道打了人了就可以了。

package com.example.designmode.facade;



public interface FaceInterface {
    
    void fight(String name);

    
    void giveTang(int num);
}

package com.example.designmode.facade;



public class FaceIml implements FaceInterface {
    
    @Override
    public void fight(String name) {
        System.out.println("打了" + name);
    }

    
    @Override
    public void giveTang(int num) {
        System.out.println("不能报复,给你" + num + "块糖");
    }
}

package com.example.designmode.facade;



public class FaceModel {
    private FaceInterface faceInterface = new FaceIml();

    public void deal(String name, int num) {
        faceInterface.fight(name);
        faceInterface.giveTang(num);
    }
}

package com.example.designmode.facade;



public class Client {
    public static void main(String[] args) {
        FaceModel faceModel = new FaceModel();
        String name = "liaowp";
        //并不关心里面怎么打的,只知道要打那个人。这就是门面      假如现在打完之后怕报复,又给了一块糖,只需要修改接口那边就可以了。
        faceModel.deal(name, 1);
    }
}

外观模式适用场景

(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。
(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
(3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。

代码下载地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号