当前位置: 首页 > news >正文

货运app开发公司优化专业的公司

货运app开发公司,优化专业的公司,更新网站的图片加不上水印,天津快速关键词排名大家好#xff01;本节主要介绍设计模式中的外观模式。 简介#xff1a; 外观模式#xff0c;它是一种设计模式#xff0c;它为子系统中的一组接口提供一个统一的、简单的接口。这种模式主张按照描述和判断资料来评价课程#xff0c;关键活动是在课程实施的全过程中进行…大家好本节主要介绍设计模式中的外观模式。 简介 外观模式它是一种设计模式它为子系统中的一组接口提供一个统一的、简单的接口。这种模式主张按照描述和判断资料来评价课程关键活动是在课程实施的全过程中进行观察和搜集意见以了解人们对课程的不同看法。 外观模式的使用场景 1、当你需要为一个复杂的子系统提供一个简单的接口时。它允许你简化一些复杂的操作或过程使得在使用这个子系统时无需了解其内部细节。 2、当你的系统需要与其他系统进行交互时。通过为外部系统提供一个统一的接口可以使得内部子系统与外部系统的交互更加简单和直接。 3、当你需要对一个大型遗留系统进行维护和扩展时。这种情况下为新系统创建一个外观类可能更为实用它可以封装原有系统的复杂性并为新系统提供简单的接口。 这种模式在设计和开发过程中可以发挥很大的作用帮助开发者更好地组织和管理代码提高系统的可维护性和可扩展性。 外观模式的创建步骤 1、定义一个外观类Facade这个类将为子系统中的每个类定义一个方法。 2、在外观类中定义一些方法这些方法将被客户端调用。这些方法将被子系统中的类实现。 3、在客户端代码中使用外观类的方法来调用子系统中的方法。 外观模式的优点主要包括 1、简化子系统使用为子系统提供了一个简单的接口使得客户端可以更容易地使用子系统而无需了解其内部细节。 2、增强了子系统的松耦合通过外观类将客户端与子系统之间的关系解耦客户端只需要和外观类进行交互无需直接和子系统中的类打交道。 3、增加了安全性通过将子系统的内部实现细节隐藏在外观类之后可以防止客户端直接访问和修改子系统的内部状态。 4、隐藏子系统实现外观模式隐藏了子系统的实现细节只向客户端暴露必要的接口从而保护了子系统的完整性。 5、提高了代码的可读性和可维护性通过使用外观模式代码变得更加结构化易于阅读和维护。 6、减少了客户端和子系统之间的代码复杂度通过将客户端和子系统之间的复杂交互抽象为一个或几个简单的方法调用减少了客户端和子系统之间的代码复杂度。 7、符合迪米特法则外观模式符合迪米特法则最少知道原则使得客户端需要处理的类数量减少降低了系统的耦合性。 外观模式的缺点主要包括 1、子系统扩展风险当子系统需要扩展时可能会对原有系统的功能造成影响。 2、不符合开闭原则在需要修改子系统时可能也需要修改外观类这不符合开闭原则。 3、降低了子系统的可维护性外观模式使得子系统的内部结构和实现细节更加难以被了解和维护。 4、增加了代码的复杂性外观模式的实现需要增加额外的类和方法这会增加代码的复杂性和维护难度。 5、降低了代码的可读性如果外观类的设计和实现不够清晰可能会使得代码的可读性更加困难。 6、增加了额外的开销外观模式的实现和运行需要额外的开销例如需要额外的方法调用和处理等。 示例 一、C#外观模式 以下是一个示例展示了如何在C#中实现外观模式 public interface ISubsystem1   {  void Operation1();   }  public interface ISubsystem2   {  void Operation2();   }  public interface ISubsystem3   {  void Operation3();   }  public class Subsystem1 : ISubsystem1   {  public void Operation1()  {  Console.WriteLine(Subsystem1.Operation1);  }   }  public class Subsystem2 : ISubsystem2   {  public void Operation2()  {  Console.WriteLine(Subsystem2.Operation2);  }   }  public class Subsystem3 : ISubsystem3   {  public void Operation3()  {  Console.WriteLine(Subsystem3.Operation3);  }   }  public class Facade   {  private ISubsystem1 _subsystem1;  private ISubsystem2 _subsystem2;  private ISubsystem3 _subsystem3;  public Facade()  {  _subsystem1 new Subsystem1();  _subsystem2 new Subsystem2();  _subsystem3 new Subsystem3();  }  public void SimpleOperation()  {  _subsystem1.Operation1();  _subsystem2.Operation2();  _subsystem3.Operation3();  }   }public class Client {  public void test() {  Facade facade new Facade();  facade.SimpleOperation();  }   } 二、java外观模式 外观模式通常通过以下方式实现 // 子系统中的组件类   class SubsystemComponent1 {  public void operation1() {  System.out.println(SubsystemComponent1.operation1);  }   }  class SubsystemComponent2 {  public void operation2() {  System.out.println(SubsystemComponent2.operation2);  }   }  class SubsystemComponent3 {  public void operation3() {  System.out.println(SubsystemComponent3.operation3);  }   }  // 外观类   class Facade {  private SubsystemComponent1 component1;  private SubsystemComponent2 component2;  private SubsystemComponent3 component3;  public Facade() {  component1 new SubsystemComponent1();  component2 new SubsystemComponent2();  component3 new SubsystemComponent3();  }  public void simplifiedOperation() {  component1.operation1();  component2.operation2();  component3.operation3();  }   }  // 客户端代码   public class Client {  public static void main(String[] args) {  Facade facade new Facade();  facade.simplifiedOperation();  }   } 三、javascript外观模式 在JavaScript实现外观模式的示例 // 子系统中的组件   const Component1 {  operation1: function() {  console.log(Component1.operation1);  }   };  const Component2 {  operation2: function() {  console.log(Component2.operation2);  }   };  const Component3 {  operation3: function() {  console.log(Component3.operation3);  }   };  // 外观类   const Facade {  constructor() {  this.component1 new Component1;  this.component2 new Component2;  this.component3 new Component3;  },  simplifiedOperation: function() {  this.component1.operation1();  this.component2.operation2();  this.component3.operation3();  }   };  // 客户端代码   const facade new Facade;   facade.simplifiedOperation(); // 输出Component1.operation1 Component2.operation2 Component3.operation3 四、C外观模式 以下是在C中实现外观模式 #include iostream  // 子系统中的组件类   class Component1 {   public:  void operation1() {  std::cout Component1.operation1 std::endl;  }   };  class Component2 {   public:  void operation2() {  std::cout Component2.operation2 std::endl;  }   };  class Component3 {   public:  void operation3() {  std::cout Component3.operation3 std::endl;  }   };  // 外观类   class Facade {   public:  Facade() {  component1 new Component1;  component2 new Component2;  component3 new Component3;  }  ~Facade() {  delete component1;  delete component2;  delete component3;  }  void simplifiedOperation() {  component1-operation1();  component2-operation2();  component3-operation3();  }  private:  Component1* component1;  Component2* component2;  Component3* component3;   };  // 客户端代码   int main() {  Facade facade;  facade.simplifiedOperation(); // 输出Component1.operation1 Component2.operation2 Component3.operation3  return 0;   } 五、python外观模式 以下是在python中实现外观模式 # 子系统中的组件   class Component1:  def operation1(self):  print(Component1.operation1)  class Component2:  def operation2(self):  print(Component2.operation2)  class Component3:  def operation3(self):  print(Component3.operation3)  # 外观类   class Facade:  def __init__(self):  self.component1 Component1()  self.component2 Component2()  self.component3 Component3()  def simplified_operation(self):  self.component1.operation1()  self.component2.operation2()  self.component3.operation3()  # 客户端代码   if __name__ __main__:  facade Facade()  facade.simplified_operation() # 输出Component1.operation1 Component2.operation2 Component3.operation3 六、go外观模式 以下是一个示例展示了如何在go中实现外观模式 // 子系统中的组件   type Component1 struct{}  func (c *Component1) Operation1() {  fmt.Println(Component1.Operation1)   }  type Component2 struct{}  func (c *Component2) Operation2() {  fmt.Println(Component2.Operation2)   }  type Component3 struct{}  func (c *Component3) Operation3() {  fmt.Println(Component3.Operation3)   }  // 外观类   type Facade struct {  component1 *Component1  component2 *Component2  component3 *Component3   }  func (f *Facade) SimpleOperation() {  f.component1.Operation1()  f.component2.Operation2()  f.component3.Operation3()   }  // 客户端代码   func main() {  facade : Facade{  component1: Component1{},  component2: Component2{},  component3: Component3{},  }  facade.SimpleOperation() // 输出Component1.Operation1 Component2.Operation2 Component3.Operation3   } 七、PHP外观模式 以下是一个示例展示了如何在PHP中实现外观模式 ?php  // 子系统中的类   class Subsystem1 {  public function operation1() {  echo Subsystem1.operation1\n;  }   }  class Subsystem2 {  public function operation2() {  echo Subsystem2.operation2\n;  }   }  class Subsystem3 {  public function operation3() {  echo Subsystem3.operation3\n;  }   }  // 外观类   class Facade {  private $subsystem1;  private $subsystem2;  private $subsystem3;  public function __construct() {  $this-subsystem1 new Subsystem1();  $this-subsystem2 new Subsystem2();  $this-subsystem3 new Subsystem3();  }  public function simplifiedOperation() {  $this-subsystem1-operation1();  $this-subsystem2-operation2();  $this-subsystem3-operation3();  }   }  // 客户端代码   $facade new Facade();   $facade-simplifiedOperation(); // 输出Subsystem1.operation1 Subsystem2.operation2 Subsystem3.operation3  ? 《完结》
http://www.hkea.cn/news/14516368/

相关文章:

  • 上海网站建设的网什么类型网站
  • 公司网站域名怎么注册北京网站建设是什么意思
  • 郑州做网站的外包公司有哪些企业信息
  • 做论坛网站价格重庆网站建设只选承越
  • 免费小程序网站wordpress升级失败
  • 网站搭建软件精品课程网站
  • 如皋网站设计宁波住房建设网站
  • 长沙网站建设 鼎誉2015年做哪些网站能致富
  • 豫建设标 网站美丽女性网-大型女性门户网大型程序700m网站程序源码织梦
  • 网站开发方案书博客怎么样做一个个人网站
  • 网站开发工具 比较群晖网站建设
  • 小米路由做网站a站为什么会凉
  • 镇海区住房和建设网站东莞企业seo推广
  • 服务器网站配置有特点的个人网站
  • 泊头市建设局网站电商小白如何做网店运营
  • 河间网站制作百度站长平台网站收录
  • 昆明网站建设的公司建筑平面设计图
  • 怎么下载网站动态图片河南省建设网站
  • 网站建网站建设企业电话广告设计专业专升本有哪些专业
  • 陕西网站建设公司哪有seo网站优化
  • 网站开发 手机 电脑仿素材网站源码
  • php网站开发有前景吗网站排名优化系统
  • 玉林网站制作安装wordpress提示500错误
  • 设计类网站策划案上海专业微信网站开发公司
  • 泰语网站怎么建设中国装修建材网
  • 专业网站优化案例莱阳网页设计
  • 网站建设制作费用预算表取消wordpress激活邮件
  • 十大不收费的网站广东科技网站建设
  • 怎么屏蔽ip段访问网站医院网站建设目的
  • 一级a做爰片手机电影网站温州网站建设定制