1. 普通装饰器装饰器就是一个函数,它的返回值是一个也是闭包函数对象,主要是拓展函数功能,在不改变原函数代码结构的情况下附加操作达到业务需求。比如做一些身份认证、误操判断、访问记录一些预处理操作,操作记录、事务处理这样的结束附加操作,又或者是性能测试这种上下都附加代码的操作。直接就上一个的基本的装饰...
文件的抽象化表示,字节流以及字符流的文件操作等属于传统 IO 的相关内容,我们已经在前面的文章进行了较为深刻的学习了。但是传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低。所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了传统...
前言最近要开始学习设计模式了,以前是偶尔会看看设计模式的书或是在网上翻到了某种设计模式,就顺便看看,也没有仔细的学习过。前段时间看完了JVM的知识,然后就想着JVM那么费劲的东西都看完了,说明自己学习耐力还是有的,所以就打算仔细的研究研究设计模式,然后也将设计模式的学习过程记录下来。GoF的设计模式...
这里主要介绍两种工厂模式,第一种“简单工厂模式”,第二种“工厂方法模式”简单工厂模式1.定义由一个工厂对象决定对象创建某一种产品对象的的实例。主要用来创建同一类对象。2.具体需求现在有一个登录模块,当用户的输入的用户名多于16个时,给一个警示弹窗var LoginAlert = function(t...
一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验。以下是本人在工作中对经历过的性能优化的一些总结,依据故事的发展路线,将其分为了5个部分,分别是:常见的性能问题;产生性能问题的一些可能原因;解决性能问题的套路;代码建议及潜在性能问题排查项。...
前言:一晃眼都差不多11天没有更新了,差一点都以为自己松懈没有努力了,hhh...这几天去跟着一个项目组在酒店封闭式开发,经过了四天,今天算是回归学校实习的队伍中(时间冲突找了个人先替我去了学校安排的实习单位..),时间虽短,但是学习到了很多东西这里做一下简短的总结背景学院大三的期末似乎总是这样,会...
其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教...
很早想造个轮子了,听说不想造轮子的程序员不是好程序员,用惯了Apache的众多开源项目,却没看过开源一句代码。最近看了几篇卖焦虑的文章之后,突然变得慌张起来,于是在百忙之中难得一点闲第一次打开了JDK的源码包。初读:晦涩难懂,3千多行代码,全英文注释,有一些陌生的语法和调用陌生的类足矣吓退一个中年程...
么是装饰者模式今天我们来讲另外一个非常实用的设计模式:装饰者模式。这个名字听上去有些莫名其妙,不着急,我们先来记住它的一个别名:包装器模式。我们记着这两个名字来开始今天的文章。首先还是上《设计模式》一书中的经典定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰者模式相比生成子类更为灵活。...
最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据、解析数据、保存数据。下面一一来讲。 1.下载数据首先打开要爬的网站,分析URL,每打开一个网页看URL有什么变化,有可能带上上个网页的某个数据,例如xxID之类...
定义  保证一个类仅有一个实例,并提供一个访问它的全局访问点 。就想我们在开发中有些对象只需要一个,例如window对象。1. 实现单例模式var Singleton = function( name ) { this.name = name;};Singleton.prototype.ge...
就算你没有用到过其他的设计模式,但是单例模式你肯定接触过,比如,Spring 中 bean 默认就是单例模式的,所有用到这个 bean 的实例其实都是同一个。单例模式的使用场景什么是单例模式呢,单例模式(Singleton)又叫单态模式,它出现目的是为了保证一个类在系统中只有一个实例,并提供一个访问...
在UE4中的地形渲染上不可避免的需要添加植被,而如果采取手动添加StaticMesh植被的方式则会浪费大量的时间精力。UE4提供了一种批量添加地面植被类型的方式Foliage Type。在编辑器内容窗口添加一个Foliage Type,命名为Grass。双击打开Grass,在Mesh中添加需要批量制...
整个Demo是基于Controller-Service-Repository架构设计的,每一层之间是通过接口来实现解耦与调用的,参照了《ASP.NETMVC5框架揭秘》一书最后的网站示例架构,使用Unity容器作为DI容器以及实现AOP。首先Repository文件夹里面的代码文件:见百度网盘链接整...
什么是异步?含义 :双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位现象:没有共同的时钟,不考虑顺序来了就处理直观感受:就是不用等了,效率高同步含义:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关...