多语言展示
当前在线:1607今日阅读:23今日分享:25

有哪些编程语言自我封装了一些设计模式?

设计模式(Design pattern)是一套反复出现问题的解决方案、多数人知晓的、代码设计经验的总结。很多编程语言自身就已经包含了大量的设计模式,我们开发人员可以直接使用,不用再自己编写。如java的jdk封装了原型模式、观察者模式、动态代理、迭代器模式、命令模式等。js的原型链模式。Object-C的KVO 观察者模式等。这里就列举以上几种
工具/原料
1

java

2

js

3

Object-C

方法/步骤
1

java封装的动态代理模式,为其他对象提供一种代理以控制对这个对象的访问,java.lang.reflect.Proxy、java.lang.reflect.InvocationHandler,//取得代理对象    Proxy.newProxyInstance(target.getClass().getClassLoader(),                    target.getClass().getInterfaces(), this);   //实现InvocationHandler接口实现invoke方法public Object invoke(Object proxy, Method method, Object[] args)        throws Throwable;

2

java封装的原型模式,可以将对象进行浅复制和深复制,Object.clone(),java.lang.Cloneable

3

java封装的迭代器模式,将集合的迭代和集合本身分离,java.util.Iterator,java.util.Collection.iterator()

4

java封装的观察者模式,通知对象状态改变,java.util.Observable,java.util.Observer

5

js的原型模式,prototype,js的原型使用代码示例如图

6

Object-C的KVO 观察者模式,KVO的使用步骤:通过addObserver: forKeyPath: options: context:为被监听对象(它通常是数据模型)注册监听器重写监听器的observeValueForKeyPath: ofObject: change: context:方法

注意事项

语言类库中实现的设计模式在学会使用的同时,也需要理解设计模式的意图和作用,在以后自己的编码过程中,可以适当的封装

推荐信息