博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mixin 模式看起来好像装饰器模式,究竟是一个什么样的模式
阅读量:4110 次
发布时间:2019-05-25

本文共 526 字,大约阅读时间需要 1 分钟。

mixin模式就是装饰器模式

 

单利模式呢?呵呵,其实就是全局变量/对象。

 

当过程式开发变得越来越复杂,代码越难以维护,于是,出现了软件危机,解决软件的危机的方式是什么呢?新的开发模式,也就是 OO,面向对象。

 

但是面向对象是银弹吗?至少最开始的时候是,很多极端的语言说自己是纯OO,一切都是对象,看似很完美,但是很多东西根本就不需要用对象的,而且频繁产生对象也是一件麻烦事,还有些对象整个软件周期内只要一个就可以了,比如数据库连接池,或者 sun 对象(毕竟太阳只有一个),但是 OO 的思想迫使他们不能使用全局变量,于是,他们 OOer 开始想办法,也就是单利模式

 

mixin 也是这种情况,他最开始出现在动态语言,说的具体点,主意是哪些另类 OO 语言,即没有类的 OO 语言,比如js。这就造成了 mixin 和装饰器模式的一个本质不同:基于类,还是基于对象。

 

mixin 直接修改对象的属性,将两个对象 mixin 在一起。而装饰器模式不是,装饰器模式所依赖的类是固定的,而且需要很多很多很多,这样才可以在创建对象是,用不同的类(主意是类,不是对象)来装饰这个新对象。

 

附:前几天翻译了一篇关于 javascript 的 mixin 文章:

转载地址:http://ezosi.baihongyu.com/

你可能感兴趣的文章
Mysql之日期处理(日期,数值,字符串)
查看>>
linux之svn启动和停止
查看>>
jsp自定义taglib实现long到date的展示
查看>>
yum之指定目录安装和存在软件检查
查看>>
nohup后台运行scp,ftp等需要输入密码的命令
查看>>
Mysql之模糊查询防注入方法
查看>>
spring之NoClassDefFoundError: org/w3c/dom/ElementTraversal
查看>>
错误之java.lang.IllegalArgumentException: Page directive: invalid value for import
查看>>
错误之tomcat启不来也没有错误日志
查看>>
linux之ab安装
查看>>
eclipse插件之DBViewer
查看>>
Spring之自定义类获取注解bean
查看>>
eclipse之代码中有错误,项目中却不显示红叉
查看>>
利用diyUpload做多图片上传及预览
查看>>
el中字符串拼接
查看>>
web之日期组件My97DatePicker
查看>>
jQuery之div内容清空
查看>>
jQuery之text,html,val和attr的使用和区别
查看>>
js之跨域访问
查看>>
Mysql之存储过程错误:ERROR 1337 (42000): Variable or condition declaration after cursor
查看>>