zoukankan      html  css  js  c++  java
  • 判断是什么设计模式

    学习常见设计模式的好地方 https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

    阅读以下作者博文所理解:

    https://www.jianshu.com/u/3f0075454d65  

    1.将一个属性/功能可取舍的对象/功能的生成拆分为多个可选的步骤来实现,例如制作煎饼功能,调料配菜的需求各不相同,将每一种添加配菜写成一个方法,需要这个过程就调用一次这个方法,然后统一个方法卷起装袋制作出来。这个就是建造者Builder模式

    2.提供一类相似的功能/对象,针对不同用户和需求,从一个对象打包提供不同的对象以满足要求,例如:造车厂制造小汽车、吉普车、拖拉机等,根据你提供的类型参数不同,输出给到不同的车型实体。这个叫做简单工厂模式

    3.提供一个对象类,他们的对象实例实现不同需求,调用者通过实现功能的不同采用不同的对象类生成对象,例如:造汽车去找造船厂、造飞机去找飞机厂、造轮船去找轮船厂。这个叫做工厂模式

    4.设置一个属性对象,由该对象决策方法调用的区别,例如:装修一间房子,可以配置不同的设计师来设计,由于设计师的想法存在差异,最总设计结果就会不同。这种就是策略模式

    5.需要完成一些功能,部分的功能已经可以由一个实现其他需求的对象来完成了,此时可以由一个对象持有该对象通过它实现部分功能,自身实现附加功能来实现。例如:接到一个项目外包,安卓/iOS/后台我都会,找上一个设计,就把活干了。这个是装饰模式

    6.给功能/操作类对象配置一个或一些专门的对象,让它们在特定的条件下处理一些决策/操作处理,例如:你是一家公司的老板,你找了一家律师事务所,当你出现了合同纠纷的时候就去找他们来走法律流程。这个是代理模式

    7.一些功能和操作,由于访问权限、资源占用、数据共享的原因,只希望有一个对象来处理,这个时候每个地方将用到的取得都是这个对象。例如:一家小一点公司只有一个专门管理印章的人,每个人要用到印章都要去他那里找他来盖。这就是单例模式

    8.

  • 相关阅读:
    python 之 re模块、hashlib模块
    python 之 random 模块、 shutil 模块、shelve模块、 xml模块
    python 之 time模块、datetime模块(打印进度条)
    python 之 包的使用
    python 之 序列化与反序列化、os模块
    SAP GUI 750 安装包 及 补丁3 共享
    实例:关于ALV控件可编辑的整理
    SAP 文本框实例
    SAP 日志管理
    TO_DATS() AS ABAP_DATE
  • 原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/13540907.html
Copyright © 2011-2022 走看看