以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

人力中介公司,人力中介怎么入行

  

  #什么是调解人模式?   

  

  中介对象用于封装一系列对象交互。中介器使得对象之间不需要显式的相互引用,使得耦合松散,它们之间的交互可以独立改变。   

  

  调解人模式,又称调解模式,属于行为设计模式,是达米特定律的典型应用。   

  

     

  

  从杂乱的网状结构到清晰的星形结构。   

  

  * * *   

  

  #调解器模式类图   

  

     

  

  中介模式类图   

  

  * * *   

  

  #调解人模式角色   

  

  抽象中介者角色(Mediator):抽象的中介角色定义了一个统一的接口和一个或多个事件方法,用于同事角色之间的通信。   

  

  具体中介者角色(ConcreteMediator):实现了抽象中介器声明的事件方法,协调了同事类之间的行为,并持有所有同事类对象的引用。   

  

  抽象同事类角色(Colleague):抽象同事类被定义并持有抽象中介对象的引用。   

  

  具体同事类角色(ConcreteColleague):继承抽象的同事类,实现自己的事业,通过中介和其他同事类交流。   

  

  * * *   

  

  #调解模式的优势   

  

  *通过对象之间的解耦,可以增加对象的可重用性。   

  

  *通过集中控制逻辑,可以简化系统维护。   

  

  *可以使对象之间传输的消息变得简单并大大减少。   

  

  *提高系统的灵活性,便于扩展和维护。   

  

  * * *   

  

  #调解模式的缺点   

  

  *中介机构承担的责任更大,一旦中介机构出现问题,整个系统都会受到影响。   

  

  *如果设计不当,中介对象本身就会变得过于复杂,难以维护和管理。   

  

  * * *   

  

  #调解员模式演示要求   

  

  使用中介模式:设置公司总经理为中介角色,公司各部门为具体同事角色,部门工作分为内部工作和外部工作。   

  

  * * *   

  

  #中介模式源代码示例   

  

  / * 抽象中介者角色 */ public interface Mediator { void register(String name, Department department); void command(String name); }   

  

  /*具体调解员角色:总经理*/公开课校长调解员实现调解员{ private map department map=new hashmap();公共作废登记簿(字符串名称,部门部门){ departmentMap.put(名称,部门);} public void命令(字符串名称){ departmentMap.get(名称)。executeinsething();departmentMap.get(名称)。executeotydething();} }   

  

  / * 抽象同事角色 */ public abstract class Department { // 中介者对象 protected Mediator mediator; public Department(Mediator mediator) { this.mediator = mediator; } /*处理部门内部事务*/公开摘要作废执行内部事();/ * 处理部门外的事务 */ public abstract void executeOutsideThing(); }   

  

  /*具体同事角色:研发;d部门类*/公共类开发部门扩展部门{公共开发部门(调解员med   

iator) { super(mediator); mediator.register("研发部",this); } @Override public void executeOutsideThing() { System.out.println("研发部:汇报工作!资源不够,需要找人!"); mediator.command("财务部"); } @Override public void executeInsideThing() { System.out.println("研发部:专心科研,研发项目!"); } }

  

/ * 具体同事角色:财务部类 */ public class FinancialDepartment extends Department { public FinancialDepartment(Mediator mediator) { super(mediator); mediator.register("财务部",this); } @Override public void executeInsideThing() { System.out.println("财务部内部事务:1.收账款;2.算利润;3.发奖金"); } @Override public void executeOutsideThing() { System.out.println("财务部外部事务:提请总经理审批,搞投资理财,钱生钱。"); } }

  

/ * 具体同事角色:市场部 */ public class MarketDepartment extends Department { public MarketDepartment(Mediator mediator) { super(mediator); mediator.register("市场部",this); } @Override public void executeOutsideThing() { System.out.println("市场部:1.找客户! 2.申请资金,投广告!"); mediator.command("财务部"); } @Override public void executeInsideThing() { System.out.println("市场部:制定工作计划!挖掘潜在客户!"); } }

  

/ * @ClassName PersonnelDepartment * @Description: 具体同事角色:人事部门类 * @Author ford * @Date 2021/6/4 * @Version V1.0 / public class PersonnelDepartment extends Department { public PersonnelDepartment(Mediator mediator) { super(mediator); mediator.register("人事部",this); } @Override public void executeInsideThing() { System.out.println("人事部内部事务:1.招聘人才 2.组织公司活动"); } @Override public void executeOutsideThing() { System.out.println("人事部外部事务:向总经理申请活动经费."); mediator.command("财务部"); } }

  

* * *

  

# 中介者模式客户端测试

  

/ * 中介者模式客戶端测试类 */ public class Client { public static void main(String[] args) { PresidentMediator president = new PresidentMediator(); DevelopmentDepartment development = new DevelopmentDepartment(president); FinancialDepartment financial = new FinancialDepartment(president); MarketDepartment market = new MarketDepartment(president); PersonnelDepartment personnel = new PersonnelDepartment(president); // 研发部 development.executeInsideThing(); development.executeOutsideThing(); System.out.println("========================================================="); // 财务部 financial.executeInsideThing(); financial.executeOutsideThing(); System.out.println("========================================================="); // 市场部 market.executeInsideThing(); market.executeOutsideThing(); System.out.println("========================================================="); // 行政部 personnel.executeInsideThing(); personnel.executeOutsideThing(); } }

  

研发部:专心科研,研发项目!研发部:汇报工作!资源不够,需要找人!财务部内部事务:1.收账款;2.算利润;3.发奖金财务部外部事务:提请总经理审批,搞投资理财,钱生钱。=========================================================财务部内部事务:1.收账款;2.算利润;3.发奖金财务部外部事务:提请总经理审批,搞投资理财,钱生钱。=========================================================市场部:制定工作计划!挖掘潜在客户!市场部:1.找客户! 2.申请资金,投广告!财务部内部事务:1.收账款;2.算利润;3.发奖金财务部外部事务:提请总经理审批,搞投资理财,钱生钱。=========================================================人事部内部事务:1.招聘人才 2.组织公司活动人事部外部事务:向总经理申请活动经费.财务部内部事务:1.收账款;2.算利润;3.发奖金财务部外部事务:提请总经理审批,搞投资理财,钱生钱。Process finished with exit code 0

  

* * *

  

# 小结

  

本章分享了中介者模式,主要介绍了中介者模式的定义、类图、角色及优缺点,并以公司组织架构需求为例进行代码实现。

  

若本文使你受益,还请给予关注、点赞、转发,欢迎拍砖!!!