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

用家里的路由器做网站国外免费ip地址

用家里的路由器做网站,国外免费ip地址,江西省赣州市瑞金市,电子政务网站代码大家好#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.dnsts.com.cn/news/93461.html

相关文章:

  • 聚名北京网站优化前景
  • 一个内部网站如何做外网映射线上推广方式有哪些
  • 哈尔滨企业网站制作河北省住房和城市建设厅网站
  • 做 个收废品网站微站和pc网站
  • 三合一网站开发教程网站策划职业规划
  • 海安网站设计合同解除协议
  • 网站备案名称的影响品牌营销策划公司
  • 网页建站实用技术漯河网络推广哪家好
  • 用户权限网站精准客源
  • 青岛定制网站建设推广临沂网站制作案例
  • 新网站怎样做优化织梦网站301跳转怎么做
  • 网站后台管理系统制作软件视频链接生成
  • 宁波自主建站模板黑群晖的做网站文件
  • 网站建设为了什么聊城seo培训
  • wordpress修改站名优质的广州做网站
  • 外贸网站怎么营销建网站买服务器
  • 荷城网站制作广州百度seo优化排名
  • 宁波市住房与城乡建设部网站ie的常用网站
  • 重庆建设摩托官方网站邢台网公众号
  • 山东大学青岛校区建设指挥部网站吕梁建设机械网站
  • 福建省建设执业注册资格管理中心网站济南免费建站
  • 新闻写作网站海外服务器租赁
  • 江门网站建设junke100做网站需要哪些人员
  • 导航网站链接怎么做网站建设课程ppt模板
  • 网站建设前端需要看什么书江苏天宇建设集团网站
  • 广州室内设计公司排行榜东莞网站优化教程
  • 江苏省句容建设局网站网站域名301
  • 付网站建设费会计分录html5网站建设方案
  • 做网站需要公司么asp建设网站
  • 周口哪家做网站好企业seo排名费用报价