北川广海の梦

北川广海の梦

最新文章

设计模式:责任链与模版方法

责任链模式 当我们面临一个流程性的处理的时候,例如我们需要构建一个请求的校验流程。 我们可能会写一个方法:ReqeuestCheck,然后在里面写下一大堆教研逻辑,if XXX,return XXX,else XXX return XXX。这样会使得方法大量膨胀,且难以维护。 而通常来说,这个校验的
379
0
0
2021-11-06

设计模式:代理模式与迭代器模式

代理模式 代理模式可以让我们建立一个与被代理对象实现了相同功能接口的代理对象。并且代理对象能够适用于任何依赖原被代理对象的场景。 通过代理模式,我们能对客户端的请求进行拦截,例如对参数进行校验,对原返回值进行处理,甚至改变传入的参数,增加业务逻辑。 由此可以看出,代理模式是对原对象(非原功能)的一种
323
0
0
2021-11-04

设计模式:外观模式与观察者模式

观察者模式 通过观察者模式,允许我们创建一种订阅机制,当某种特定事件发生的时候,通知多个订阅这个对象的其他对象。 实现方式可参考:如何在java实现事件这篇文章。 在C#中,可以直接通过委托与event便捷实现。这里不再赘述。 观察者模式非常类似于发布-订阅模式,但是两者是存在区别的。 观察者模式存
397
0
0
2021-11-02

设计模式:适配器与装饰器

装饰器模式 我们常常面临一个问题,在原有的功能上进行扩展,如何优雅的进行实现? 有人会说,给这个类加一个新方法不就得了。这不就违背了开闭原则吗?类应该对扩展开放,对修改封闭。 一般常见有两种方式,一是直接继承于想要扩展的类,那么我们就能够在原有功能的基础上,扩展更多的方法。下面将进行简单实现:
380
0
0
2021-11-01

设计模式:工厂

简单工厂模式简单工厂模式可以有效的封装根据输入参数创建对应对象的行为。通过简单工厂模式,可以使需要这个对象的地方,无需关心这个对象的创建细节,将创建过程完全委托于工厂,自己仅需要接收工厂产生的对象,并拿着使用即可。这样可以有效的避免重复写出大量的冗余代码。试想项目中存在大量的依赖某个对象,此对象的创
316
0
0
2021-10-31

浅谈Rust内存的所有权

内存安全程序其实就是逻辑代码和数据结构的结合体,而能被代码操作的数据一定是保存在内存中的,所以内存中的数据安全是非常重要的。这里的安全,主要是指保证数据的正确性,尽量减少各种情况下的数据被污损,以及保证内存存储空间的有效利用,减少甚至完全避免无效的内存分配。本人编程从C语言入门的,学习了基本语法,写
347
0
0
2020-08-23