设计模式

设计模式尽可能的遵循并实现了设计原则,从而达到了代码复用、增加可维护性的目的

什么是设计模式:指的是软件设计过程中某一类常见问题通用的解决方案是代码设计经验的总结,是一种指导.

主要有三种类型的设计模式:

一:创建型-关注对象创建的问题.

1.Singleton(单例)关键词:唯一

        一种关注对象的创建模式。保证一个类仅有一个实例,并提供一个访问它的全局访问点。案例:单例对象池。java里有个Runtime类就是单例模式。

2.SimpleFactory 简单工厂  关键字:多选一

    一种关注对象的创建模式,可以实现从多个数据类型中获取一个类对象,同时可以提高代码复用性和维护性

如果使用反射,复用性会更好,但实际项目中尽量少用反射,反射太消耗性能。案例:技能释放器类选择类。

3. Abstract Factory  抽象工厂 关键词:系列

        一种关注对象的创建模式,可以实现从多系列产品中获取一系列相互依赖的产品同时可以保证【提高】代码的复用性和维护性,案例:获取两种Oracle数据库和Sqlsever 数据库的对象,对象可以调用不同类中的连接和查找、删除方法。

4.Builder(创建者,建造器,生成器)关键词:组装  

        构建者设计模式是一种关注对象的创建模式,可以实现,组成结构稳定但是具体表现不同的复杂对象的构建同时可以保证提高代码的复用性和维护性。案例:皇帝  派2个大臣干同一件事  两个结果

二.结构性关注类或对象的结构问题,组织类与类的关系

5.Adapter(适配器)关键词:转接

        Adapter (适配器)是一种结构型设计模式,关注的是对象的组织结构。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。其实就是将一个方法(签名不同的方法:接口不匹配)实现另一个方法。期望和现有的方法可以同时实现,只需在适配器里面添加Base调用,适配器代码步骤:1.继承期望目标2.实例化现有的类3.重写期望的方法,并在方法中调用现有的方法。

6.Bridge(桥)关键词:连接两端的变化

        桥设计模式是一种结构型设计模式,关注的是对象的组织结构:实现的是组合的各个部分可以方便的选择或切换。案例:释放器类简单案例:找对象,{白富美},{高富帅},

7.Composite(组合)关键词

        是一种结构型设计模式,关注的是对象的组织结构,实现了把对象组织成树形结构,优点:方便处理,对单个对象或组织对象的处理具有一致性。案例:资源管理器  员工树,员工姓名员工薪资。

8.Decorator (装饰)关键词:包装

        装饰设计模式是一种结构型设计模式,关注的是对象的结构,可以实现动态地给一个对象添加一些额外的职责/功能【非主要功能】。就增加功能来说,D e c or a t o r 模式相比生成子类更为灵活。因为用Decorator添加后也可以撤销,主要用于添加非主要功能。代码更灵活,维护性更好。案例:女同志装饰品

9.Facade (外观,门面) 关键词:向导   

        外观设计模式是一种结构型设计模式,关注的是对象的组织结构,方便一个系统访问另一个系统,降低了系统之间的耦合度提高了复用性和维护性。经典案例:角色技能系统外观类.

10.Proxy(代理)关键词:代理

     C#的委托就是一种设计模式,可以叫做代理设计模式

三.行为型关注对象交互的问题

11.TemplateMethod( 模板方法) 关键词:骨架

        本质上讲的是抽象类,模板方法设计模式是一种行为型设计模式,关注的是类的行为结构,当某个功能的大致流程【骨架,步骤】已经确定,把不确定的留给子类实现。

12.Observer(观察者)

        需求涉及到行动的联动调用【执行】或行为有依赖关系的时候或一对多的关系时,使用观察者设计模式。优点,代码复用性和维护性好,事件驱动型开发模式。经典案例:猫和老鼠。

13.Strategy( 策略) 关键词:切换算法【AI 有限状态机】

        策略设计模式是一种关注对象的行为的一种行为型设计模式,可以实现定义一系列算法,把它们一个个封装起来,使它们可以动态相互替换,方便切换算法,提高代码的复用性和维护性,强调的是多个对象案例:员工工资的算法,获取某个员工的工资  底薪+补助+奖金, 不同职位算法不同。

14. State(状态)关键词:状态决定行为【AI有限状态机】    

          状态设计模式是一种行为型的设计模式,关注的是对象的行为,状态设计模式定义了很多状态,方便在运行时刻根据状态改变对象的行为(状态决定行为),状态也可以动态切换。强调的是一个对象,一个对象有很多状态。

15.Mediator(中介)关键词:封装交互【AI感知系统】   

        关注对象的行为的一种行为型设计模式,定义了一个中介对象来封装了一系列对象的交互,实现了使多对多的关系变成一对多,降低了系统的复杂性【也就是耦合性】提高了复用性和维护性案例、:1.打麻将(设置一个中间人收发钱)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值