随笔分类 - 设计模式
摘要:简介:装饰者模式可以动态添加对象功能。装饰者模式充分利用了合成、聚合复用原则,通过委托机制,复用系统中的各个组件,在运行时,可以将这些功能组件进行叠加,从而构造一个“超级对象”,使其拥有这些组件的功能。 有效分离性能组件和功能组件,从而提升模块的可维护性并增加模块的复用性。 1.主要角色 1)组件接
阅读全文
摘要:简介:享元模式是是设计模式中少有的为提高系统性能为目标的设计模式之一。它的核心思想是:如果系统中存在多个相同的对象,那么只需创建共享的一份对象的拷贝,而不必为每一次使用都创建新的对象。 优点: 1)可以节省重复创建对象的开销,被享元模式维护的相同对象只会被创建一次。 2)创建的对象数量减少,所以对系
阅读全文
摘要:简介:动态代理是指在运行时,动态生成代理类。即代理类的字节码将在运行时生成并载入当前的ClassLoader。与静态代理类相比,有诸多好处。不需要为真实主题写一个形式上完全一样的封装类,若接口过多,则会代理接口也很多,接口稍微改动,代理接口也要进行变更;其次,使用动态代理可以在运行时指定代理类的执行
阅读全文
摘要:简介:代理模式使用代理对象完成用户请求,屏蔽用户对真实对象的访问。就如同现实中的代理一样,代理人被授权执行当事人的一些事,而无需当事人出面。 代理的作用:①基于安全考虑,需要屏蔽客户端直接访问真实对象;②提升系统性能和反应速度,对真实对象进行封装,冬儿达到延迟加载的目的。 比如在系统在启动时,初始化
阅读全文
摘要:简介:单例模式是设计模式中使用比较普遍的设计模式,也是非常简单的一种设计模式。单例模式是指确保系统中只有一个实例。最常见的单例模式分为懒汉模式和饿汉模式。 1. 单例模式的好处: 1)对于频繁使用的对象,可以省去创建对象的开销; 2)由于new操作的次数减少,因而对系统内存的使用频率也会降低,从而减
阅读全文
摘要:1.举出一个例子,在这种情况你会更倾向于使用抽象类,而不是接口? 这是很常用但又是很难回答的设计面试问题。接口和抽象类都遵循”面向接口而不是实现编码”设计原则,它可以增加代码的灵活性,可以适应不断变化的需求。下面有几个点可以帮助你回答这个问题: 在Java中,你只能继承一个类,但可以实现多个接口。所
阅读全文

浙公网安备 33010602011771号