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

地名公共服务网站建设经典软文案例分析

地名公共服务网站建设,经典软文案例分析,广州网站制作哪家专业,优酷有wordpress插件吗1. 介绍 结构型设计模式(Structural Patterns) 主要关注类与对象的组合,以提高代码的灵活性和可维护性。这些模式帮助创建更大结构,同时保持代码的低耦合性。 结构型设计模式包括以下七种: 适配器模式(Ad…

1. 介绍

结构型设计模式(Structural Patterns) 主要关注类与对象的组合,以提高代码的灵活性和可维护性。这些模式帮助创建更大结构,同时保持代码的低耦合性。

结构型设计模式包括以下七种:

  1. 适配器模式(Adapter)

  2. 桥接模式(Bridge)

  3. 组合模式(Composite)

  4. 装饰器模式(Decorator)

  5. 外观模式(Facade)

  6. 享元模式(Flyweight)

  7. 代理模式(Proxy)


2. 适配器模式(Adapter)

目的:使接口不兼容的类能够协同工作。

实现方式:通过包装(Wrapper)转换接口。

示例(Python 实现):

class OldSystem:def specific_request(self):return "Old System Data"class Adapter:def __init__(self, old_system):self.old_system = old_systemdef request(self):return self.old_system.specific_request()old_system = OldSystem()
adapter = Adapter(old_system)
print(adapter.request())

3. 桥接模式(Bridge)

目的:分离抽象部分和实现部分,使它们可以独立变化。

示例

class Implementation:def operation(self):passclass ConcreteImplementationA(Implementation):def operation(self):return "Implementation A"class Abstraction:def __init__(self, implementation):self.implementation = implementationdef operation(self):return self.implementation.operation()abstraction = Abstraction(ConcreteImplementationA())
print(abstraction.operation())

4. 组合模式(Composite)

目的:处理树形结构,使单个对象和组合对象的使用一致。

示例

class Component:def operation(self):passclass Leaf(Component):def operation(self):return "Leaf"class Composite(Component):def __init__(self):self.children = []def add(self, component):self.children.append(component)def operation(self):return "+".join([child.operation() for child in self.children])leaf = Leaf()
composite = Composite()
composite.add(leaf)
print(composite.operation())

5. 装饰器模式(Decorator)

目的:动态地给对象增加额外的功能。

示例

def decorator(func):def wrapper():print("Before Function Call")func()print("After Function Call")return wrapper@decorator
def function():print("Hello")function()

6. 外观模式(Facade)

目的:提供一个统一的接口,简化子系统的复杂性。

示例

class SubsystemA:def operation(self):return "SubsystemA Operation"class SubsystemB:def operation(self):return "SubsystemB Operation"class Facade:def __init__(self):self.a = SubsystemA()self.b = SubsystemB()def operation(self):return f"{self.a.operation()} + {self.b.operation()}"facade = Facade()
print(facade.operation())

7. 享元模式(Flyweight)

目的:减少内存占用,通过共享相似对象来避免创建大量相同对象。

示例

class Flyweight:_instances = {}@staticmethoddef get_instance(key):if key not in Flyweight._instances:Flyweight._instances[key] = Flyweight()return Flyweight._instances[key]fw1 = Flyweight.get_instance("A")
fw2 = Flyweight.get_instance("A")
print(fw1 is fw2)  # True

8. 代理模式(Proxy)

目的:控制对象的访问,如权限控制、远程代理、虚拟代理。

示例

class RealSubject:def request(self):return "RealSubject Request"class Proxy:def __init__(self, real_subject):self.real_subject = real_subjectdef request(self):print("Proxy: Checking Access")return self.real_subject.request()real = RealSubject()
proxy = Proxy(real)
print(proxy.request())

9. 总结

结构型设计模式 通过合理组织类和对象,使系统更灵活、可扩展。根据不同需求,选择合适的模式:

模式主要作用
适配器模式连接不同接口的类
桥接模式分离抽象和实现,提高扩展性
组合模式处理树形结构,使单个对象和组合对象一致
装饰器模式动态添加功能,提高灵活性
外观模式提供统一接口,简化复杂系统调用
享元模式共享对象,减少内存占用
代理模式控制对象访问,如远程代理、权限管理
http://www.dtcms.com/wzjs/193437.html

相关文章:

  • 北京如何做网站网页搜索词热度查询
  • 深圳龙岗做网站公司哪家好打开官方网站
  • 春秋网络优化技术团队介绍做排名优化
  • 网页界面设计想法安卓aso关键词优化
  • 哈尔滨网站建设咨询网络营销课程总结
  • 公司网站建设费怎么入账免费推广平台排行
  • 网站测试速度很慢世界十大搜索引擎及地址
  • 网站建设鼠标滑动效果重大新闻事件2023
  • 淘宝网站开发源码石家庄百度搜索引擎优化
  • 国内做音乐网站新手seo要学多久
  • 男女做性哪个的小视频网站网站营销策略有哪些
  • 网站建设ihuibest竞价专员是做什么的
  • 小程序和app杭州seo网站推广
  • 郑州做的比较好网站公司徐州seo管理
  • 石家庄网站建设seo公司哪家好百度指数什么意思
  • 中信建设官方网站软件下载注册百度账号免费
  • 用ipv6地址做网站访问西seo优化排名
  • 关于网站建设与维护的参考文献seo站长工具查询系统
  • 宝塔系统怎么建设网站合肥品牌seo
  • 点评网站开发渠道网官网
  • 建设网站需要哪些语言百度查看订单
  • 中英文版网站建设seo免费资源大全
  • 备案 如何方便以后做其他网站网络营销的目的是
  • 网站建设 邦深圳google推广
  • 优秀设计作品的网站网页设计与制作代码成品
  • 大连网站建设意动科技免费的网站域名查询app
  • 摄图网的图片可以做网站吗快手刷评论推广网站
  • 有哪些网站可以做笔译关键词优化外包服务
  • 无线网络建站优化推广
  • 北京做网站推广兼职50个市场营销经典案例