Unity你用过哪些设计模式?你熟悉的设计模式有哪几种呢?

摘要:
今天我们将简要介绍我们常见的设计模式(1)工厂模式简单的工厂模式解决了如何实例化合适对象的问题。简单工厂模式的核心思想是需要以正常形式创建大量产品,这些产品可以通过工厂方法模式创建,然后工厂模式可以用于创建(2)代理模式:一个是您真正需要访问的对象(目标类)。首先访问代理类,然后访问您真正想要访问的对象。代理模式是一个额外的代理类,用于表达我们的想法。代理模式应用场景:

以前写过几篇设计模式的详细解释,今天在这里不详细介绍,有兴趣了解的可以去看前几篇随笔,今天就简单的介绍我们常用的设计模式.

(1)工厂模式

简单工厂模式解决的问题是如何去实例化一个合适的对象.

简单工厂模式的核心思想就是:有一个专门的类来负责实例过程,范式出现大量产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建,比如说写技能是一系列类,那么就可以使用工厂模式创建.

(2)代理模式:

一个是真正的需要你访问的对象(目标类),一个是代理对象,真正对象与代理对象实现同一个接口,先访问代理类再访问真正要访问的对象.

代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候会去找中介,为什么呢?因为你对该地区房屋信息掌握不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思.再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法.

代理模式的应用场景:

如果已有的方法在使用的时候需要对原来的方法进行改进,此时有两个方法:

1>修改原有的方法来适应,这样违反了"对扩展开放,对修改关闭"的原则

2>就是采用一个代理类调用原有的方法,且对产生的结果进行监控,这种方法就是代理模式.使用代理模式,可以将功能划分的更加清晰,有助于后期维护

(3)策略模式:

定义一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户.策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装,因此,策略模式多用在算法决策系统中,外部用户只需决定用哪个算法即可

(4)观察者模式:

观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,当你订阅了该文章,如果后续有更新,会及时通知你.其实简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化,对象之间是一种一对多的关系

(5)单例对象:

这是一种常用的设计模式,在C#应用中,单例对象能保证在一个CLR中,该对象只有一个实例存在.

优点:

1>某些类创建比较频繁,对于一些大型的对象,这是一笔很大的开销

2>省去了new操作符,降低了系统内存的使用频率,减轻GC压力

3>有些类如交易所得核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了(比如一个军队出现多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程

设计模式还有很多,在此不一一赘述,就说几个常见的熟悉的设计模式.

免责声明:文章转载自《Unity你用过哪些设计模式?你熟悉的设计模式有哪几种呢?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇迅为龙芯2K1000开发板Linux工具之make工具和Makefile文件Imageview 按比例适应屏幕大小下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux应用之bugfree的安装及配置

Bugfree3.0.4 Linux环境安装指南                           bugfree系统安装的前提是,配置LAMP环境(apache+mysql+php),下面以centos6.3系统为例介绍bugfree3.0.4的安装步骤。 一、    安装apache服务器 检查apache服务器是否安装 #service httpd...

集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用

要使用这个工具类,我们要在maven工程当中加入相应的依赖: <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>...

VMware安装的Linux系统忘记密码 怎么修改root密码

因为昨天新安装过虚拟机设置了新的密码,再加上我好长时间没有用自己旧的虚拟机,导致忘记了密码,原来虽然知道在单用模式下,找回密码,但是确实是自己从来都没有做过,还好我们组大手飞翔哥告诉了我,怎么找回root密码,再次我帮 像我一样的新手朋友们 总结下 如何找回自己虚拟机linux的root密码。 重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选...

ThinkPad笔记本外放没声音解决办法(不是驱动的原因)

  本人的本子是T480,自从装完Ubuntu系统之后W10系统就没有外放声音了,卸载Ubuntu之后还是没有声音,重装声卡驱动、重装系统之后依然无效。 我的解决办法是升级主板Bois,具体如下: 进入官网: https://think.lenovo.com.cn/index.html 驱动下载》查询电脑型号》下载BIOS驱动    下载完安装重启即可。...

CentOS 6.9关闭NetworkManager服务

说明:安装了图形界面init5级别的系统会自动安装NetworkManager进行网络管理。这东西有点难搞,所以可以把它禁掉。 配置: #停止NetworkManager service NetworkManager stop #关掉开机启动服务 chkconfig NetworkManager off #重启网络 service network...

IDEA设置代理

设置代理 Appearance & Beahvior -> System Settings -> HTTP Proxy,选择手动配置代理,输入IP和端口即可。 测试GitHub或者Google是否连接成功 查看代理软件端口号 查看代理软件端口...