java-java设计模式-门面设计模式的再思考

本文探讨了门面模式在软件设计中的应用,通过示例代码解释了门面模式如何简化复杂系统的调用,以及它与分治算法之间的相似之处。文章指出,SpringMVC的三层架构正是门面模式的体现,而复杂功能的实现可通过任务分解,采用分治策略,分配给多个对象协同完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果门面模式是这种的形式:

class A {

  public void a(){};

}

class B{

  public void b(){};

}

 

 

那么门面模式构成的简单对象就是:

class C {

  private A a = new A();

  private B b = new B();

  public void c(){

   a.a();

   b.b();

};

}

 

 

那么,我们的客户端的代码就是这样的

public void main(String[] args){

 C c = new C();
 c.c();    
   
}

 

那么,我们就能够明白了,所有的代码都是基本的门面模式形式的代码,这样的代码充满了整个世界。

所有的模块都趋向于调用比自身更具体的模块的代码,这样,我们总能够编写更具体的代码定义成模块,来提供给比自身更加抽象的代码的模块来调用。总而言之,这不就是分层的一种思路吗?

 

spring mvc模式的三层代码,就是最简单的门面模式的代码啊!!!理解了这个,就明白了如何阅读中间件相关的系统的源码了吧!!!把他们理解成门面模式就好阅读了。

 

那么,我们对于编写复杂的功能的代码的时候,我们可以将任务分解,分配给N个对象来完成,每个对象完成一部分功能就交给其他的对象完成。如果这N个对象中的一个对象的工作依然很复杂,那么就再分配给M个对象来完成,一直递归下去,一直直到分不下去为止。这样,我们就完成了对一个任务的彻底解决了。这不就是算法当中的分治算法吗!!!

 

转载于:https://www.cnblogs.com/weiguangyue/p/10332144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值