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

湖北网站优化公司网站开发都用什么语言

湖北网站优化公司,网站开发都用什么语言,博客集成wordpress,网站的空间和域名是啥门面模式 Facade 1、什么是门面模式 门面模式#xff08;Facade Pattern#xff09;是一种结构型设计模式#xff0c;旨在为系统提供一个统一的接口#xff0c;以便于访问子系统中的一群接口。它通过定义一个高层接口#xff0c;简化了客户端与子系统之间的交互#xf… 门面模式 Facade 1、什么是门面模式 门面模式Facade Pattern是一种结构型设计模式旨在为系统提供一个统一的接口以便于访问子系统中的一群接口。它通过定义一个高层接口简化了客户端与子系统之间的交互从而降低了系统的复杂性。 2、为什么使用门面模式 简化接口门面模式通过定义一个高层接口简化了客户端与子系统之间的交互使得客户端无需直接与子系统的复杂接口打交道。解耦客户端和子系统通过引入门面客户端与子系统的依赖关系得到解耦客户端只需与门面进行交互而不需要关心子系统的具体实现。提高可维护性门面模式将子系统的实现细节封装起来有助于提高系统的可维护性降低了系统的复杂性。 3、如何实现门面模式 设计实现一个简单的计算启动过程 // 子系统 - CPU class CPU {public void start() {System.out.println(CPU is starting...);} }// 子系统 - Memory class Memory {public void load() {System.out.println(Memory is loading...);} }// 子系统 - HardDrive class HardDrive {public void read() {System.out.println(HardDrive is reading...);} }// 门面类 - ComputerFacade class ComputerFacade {private CPU cpu;private Memory memory;private HardDrive hardDrive;public ComputerFacade() {this.cpu new CPU();this.memory new Memory();this.hardDrive new HardDrive();}public void startComputer() {cpu.start();memory.load();hardDrive.read();System.out.println(Computer is started and ready to use.);} }// 客户端代码 public class Client {public static void main(String[] args) {ComputerFacade computerFacade new ComputerFacade();computerFacade.startComputer();} } 4、是否存在缺陷和不足 不符合开闭原则当系统中的子系统发生变化时可能需要修改门面类不符合开闭原则。可能导致过多门面类随着系统的不断扩展可能会出现多个门面类导致系统变得复杂。 5、如何缓解缺陷和不足 使用配置文件将子系统的配置信息放置在配置文件中通过读取配置文件的方式动态创建门面类提高系统的灵活性。使用抽象工厂模式可以结合抽象工厂模式将门面的创建过程交给工厂类从而降低客户端与门面的耦合度。 // 抽象产品 - CPU interface CPU {void start(); }// 具体产品A - ConcreteCPUA class ConcreteCPUA implements CPU {Overridepublic void start() {System.out.println(ConcreteCPUA is starting...);} }// 具体产品B - ConcreteCPUB class ConcreteCPUB implements CPU {Overridepublic void start() {System.out.println(ConcreteCPUB is starting...);} }// 抽象产品 - Memory interface Memory {void load(); }// 具体产品A - ConcreteMemoryA class ConcreteMemoryA implements Memory {Overridepublic void load() {System.out.println(ConcreteMemoryA is loading...);} }// 具体产品B - ConcreteMemoryB class ConcreteMemoryB implements Memory {Overridepublic void load() {System.out.println(ConcreteMemoryB is loading...);} }// 抽象产品 - HardDrive interface HardDrive {void read(); }// 具体产品A - ConcreteHardDriveA class ConcreteHardDriveA implements HardDrive {Overridepublic void read() {System.out.println(ConcreteHardDriveA is reading...);} }// 具体产品B - ConcreteHardDriveB class ConcreteHardDriveB implements HardDrive {Overridepublic void read() {System.out.println(ConcreteHardDriveB is reading...);} }// 抽象工厂接口 interface ComputerFactory {CPU createCPU();Memory createMemory();HardDrive createHardDrive(); }// 具体工厂A class ConcreteFactoryA implements ComputerFactory {Overridepublic CPU createCPU() {return new ConcreteCPUA();}Overridepublic Memory createMemory() {return new ConcreteMemoryA();}Overridepublic HardDrive createHardDrive() {return new ConcreteHardDriveA();} }// 具体工厂B class ConcreteFactoryB implements ComputerFactory {Overridepublic CPU createCPU() {return new ConcreteCPUB();}Overridepublic Memory createMemory() {return new ConcreteMemoryB();}Overridepublic HardDrive createHardDrive() {return new ConcreteHardDriveB();} }// 门面类 class ComputerFacade {private CPU cpu;private Memory memory;private HardDrive hardDrive;public ComputerFacade(ComputerFactory factory) {this.cpu factory.createCPU();this.memory factory.createMemory();this.hardDrive factory.createHardDrive();}public void startComputer() {cpu.start();memory.load();hardDrive.read();System.out.println(Computer is started and ready to use.);} }// 客户端代码 public class Client {public static void main(String[] args) {// 使用工厂A创建电脑ComputerFactory factoryA new ConcreteFactoryA();ComputerFacade computerFacadeA new ComputerFacade(factoryA);computerFacadeA.startComputer();// 使用工厂B创建电脑ComputerFactory factoryB new ConcreteFactoryB();ComputerFacade computerFacadeB new ComputerFacade(factoryB);computerFacadeB.startComputer();} } 上面这个例子中抽象工厂模式用于创建不同系列的电脑产品而门面类的创建过程交给工厂类客户端代码通过选择不同的工厂来创建不同系列的电脑无需关心具体产品的创建过程有助于提高系统的灵活性和可维护性 组合模式 Composite 1、什么是组合模式 组合模式通过将对象组织成树形结构来表示整体-部分层次结构使得客户端可以统一对待单个对象和对象的组合。它主要包含三个角色叶子节点Leaf、组合节点Composite、客户端Client。 2、为什么使用组合模式 统一接口组合模式使得客户端可以统一对待单个对象和对象的组合因为它们共享相同的接口。灵活性客户端无需关心对象是叶子节点还是组合节点可以在不同层次构建复杂的对象结构。简化客户端代码客户端无需判断操作的是单个对象还是对象组合简化了客户端代码。 3、如何使用组合模式 设计实现一个文件系统 import java.util.ArrayList; import java.util.List;// 抽象组件 - 文件和目录的共同接口 interface FileSystemComponent {void display(); }// 叶子节点 - 文件 class FileLeaf implements FileSystemComponent {private String name;public FileLeaf(String name) {this.name name;}Overridepublic void display() {System.out.println(File: name);} }// 组合节点 - 目录 class DirectoryComposite implements FileSystemComponent {private String name;private ListFileSystemComponent components;public DirectoryComposite(String name) {this.name name;this.components new ArrayList();}public void addComponent(FileSystemComponent component) {components.add(component);}public void removeComponent(FileSystemComponent component) {components.remove(component);}Overridepublic void display() {System.out.println(Directory: name);for (FileSystemComponent component : components) {component.display();}} }// 客户端代码 public class Client {public static void main(String[] args) {// 构建文件系统结构FileSystemComponent file1 new FileLeaf(file1.txt);FileSystemComponent file2 new FileLeaf(file2.txt);DirectoryComposite dir1 new DirectoryComposite(Folder 1);dir1.addComponent(file1);dir1.addComponent(file2);FileSystemComponent file3 new FileLeaf(file3.txt);DirectoryComposite dir2 new DirectoryComposite(Folder 2);dir2.addComponent(file3);dir2.addComponent(dir1);// 显示文件系统结构dir2.display();} } 4、是否存在缺陷和不足 限制类型一致性组合模式要求所有组件都实现相同的接口这可能限制了组件的类型一致性。不支持单个对象的特殊处理组合模式统一对待单个对象和组合对象因此可能无法支持对单个对象的特殊处理。 5、如何缓解缺陷和不足 使用抽象构件类引入一个抽象构建类包含所有子类共有的方法从而提高组件的类型一致性。在叶子节点实现特殊处理在叶子节点类中实现特殊处理逻辑以满足对单个对象的特殊需求。
http://wiki.neutronadmin.com/news/367775/

相关文章:

  • 全屏企业网站建筑公司商标logo设计
  • 网站安全建设进展情况全国建设部网站证书查询
  • 保定企业制作网站网店运营心得体会
  • 深圳网站建设领先Wordpress 视频界面
  • 移动网站建设口碑好关键词歌词打印
  • 创意设计一个网站苏州市网站优化
  • 做网站有什么js特效关键词查询优化
  • 长沙做网站的包吃包住4000网站建设的基本规范有什么
  • 金寨县建设规划局网站网站推广软件哪个最实惠
  • 做网站论文徐州制作网站的公司有哪些
  • 珠海建设网站官网现在去北京安全吗
  • 国内企业手机网站建设阿里云虚拟主机可以做两个网站
  • jquery特效的网站企业电器网站建设方案
  • 重庆忠县网站建设公司哪家专业asp.net网站开发框架
  • 网站设计主要包括哪些步骤网络销售有前途吗
  • 网站建设最新模板太平鸟品牌门户网站建设
  • 学做网站必须php吗云建网站网址
  • 营销型网站建设市场网站建设公司哪家好?该如何选择
  • 那些公司做网站比较厉害福州seo按天扣费
  • 上海青浦房地产网站建设wordpress reeoo主题
  • 网站首页排版免费制作app的傻瓜软件
  • 能访问各种网站的浏览器南宁网站设计图
  • 哪个网站做照片书最好微信答题小程序
  • 建设网站的报告wordpress 数据库引擎
  • 网站优化软件排名技术唐山做网站那家好
  • 企业网站建设开发费用连锁酒店的网站建设
  • 做网站尺寸给wordpress添加字段
  • 常德公司做网站网站建设和网络搭建是一回事吗
  • 网站名称格式可信赖的龙岗网站建设
  • 男女做的那个视频网站哪位大神给个网址