zoukankan      html  css  js  c++  java
  • 设计模式之迪米特法则示例

      如一个明星与经纪人的关系实例。明星由于全身心投入艺术,所以许多日常事务由经纪人负责处理,如与粉丝的见面会,与媒体公司的业务洽淡等。这里的经纪人是明星的朋友,而粉丝和媒体公司是陌生人,所以适合使用迪米特法则,其类图如图所示。

                

      程序代码如下: 

    public class LoDtest
    {
        public static void main(String[] args)
        {
            Agent agent=new Agent();
            agent.setStar(new Star("林心如"));
            agent.setFans(new Fans("粉丝韩丞"));
            agent.setCompany(new Company("中国传媒有限公司"));
            agent.meeting();
            agent.business();
        }
    }
    //经纪人
    class Agent
    {
        private Star myStar;
        private Fans myFans;
        private Company myCompany;
        public void setStar(Star myStar)
        {
            this.myStar=myStar;
        }
        public void setFans(Fans myFans)
        {
            this.myFans=myFans;
        }
        public void setCompany(Company myCompany)
        {
            this.myCompany=myCompany;
        }
        public void meeting()
        {
            System.out.println(myFans.getName()+"与明星"+myStar.getName()+"见面了。");
        }
        public void business()
        {
            System.out.println(myCompany.getName()+"与明星"+myStar.getName()+"洽淡业务。");
        }
    }
    //明星
    class Star
    {
        private String name;
        Star(String name)
        {
            this.name=name;
        }
        public String getName()
        {
            return name;
        }
    }
    //粉丝
    class Fans
    {
        private String name;
        Fans(String name)
        {
            this.name=name;
        }
        public String getName()
        {
            return name;
        }
    }
    //媒体公司
    class Company
    {
        private String name;
        Company(String name)
        {
            this.name=name;
        }
        public String getName()
        {
            return name;
        }
    }

      程序的运行结果如下:

    粉丝韩丞与明星林心如见面了。
    中国传媒有限公司与明星林心如洽淡业务。
  • 相关阅读:
    Mycat的server.xml配置
    Docker构建Mycat(单节点)
    Mycat相关概念解读
    Mycat简介及适用场景
    SpringBoot整合WebService
    SpringBoot事务简单操作及手动回滚
    对事务及其注解@Transactional的解读
    git将某分支的某次提交合并到另一分支
    SpringBoot快速支持国际化i18n
    SpringBoot多数据源自动切换
  • 原文地址:https://www.cnblogs.com/jing99/p/12577030.html
Copyright © 2011-2022 走看看