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

手机小程序怎么制作无锡百度seo优化

手机小程序怎么制作,无锡百度seo优化,河北建设工程网站,网站期刊怎么做大家好!本节主要介绍设计模式中的外观模式。 简介: 外观模式,它是一种设计模式,它为子系统中的一组接口提供一个统一的、简单的接口。这种模式主张按照描述和判断资料来评价课程,关键活动是在课程实施的全过程中进行…

大家好!本节主要介绍设计模式中的外观模式。

简介:

外观模式,它是一种设计模式,它为子系统中的一组接口提供一个统一的、简单的接口。这种模式主张按照描述和判断资料来评价课程,关键活动是在课程实施的全过程中进行观察和搜集意见,以了解人们对课程的不同看法。

外观模式的使用场景:
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/910258/

相关文章:

  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索
  • 自己做网站花多少钱雅虎搜索
  • 哈尔滨招标信息网网站推广优化排名教程
  • 个人可以建论坛网站吗福清网络营销
  • 济南做网站优化价格百度推广网站一年多少钱
  • 做网上商城网站哪家好杭州seo靠谱
  • 做营销网站制作关键词优化课程
  • 网站移动终端建设口碑营销成功案例
  • 美国做试管婴儿 网站推广普通话宣传语
  • 网站备案信息查询系统软文发布平台媒体
  • 泊头哪给做网站的好制作网页的教程
  • 漳州建设银行网站首页在百度上打广告找谁
  • 网站免费建站k网络营销策划方案书
  • 网站建设类公网店推广的作用
  • 安平做网站除了百度指数还有哪些指数
  • 做网站公司 蓝纤科技知乎怎么申请关键词推广
  • 临沂免费做网站发表文章的平台有哪些
  • 网站推广的方式包括哪些广西网站建设制作
  • 杭州营销网站建设东莞网站建设哪家公司好
  • 企业做营销型网站手机如何制作网页
  • 连云港网站关键词优化seo自学教程
  • 网站全站出售淘宝关键词排名怎么查询
  • 龙口市规划建设局网站查询收录
  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少
  • wordpress文章收缩长春seo优化企业网络跃升
  • 网站地图调用希爱力双效片骗局
  • 珠海网站建设维护友情链接买卖代理
  • 武汉企业网站推广外包网络广告营销案例分析