
设计模式
阿拉斯加大闸蟹
JDcloud;ByteDance;XueQiu;YiChe;CATARC
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Proxy(代理模式)
https://github.com/singgel?tab=repositories 一句话总结:为其他对象提供一个代理,以控制对当前对象的访问。生活中的例子:房屋中介、婚姻介绍所。解决什么问题:不能直接访问该对象,或者太大的资源耗费多。项目里面怎么用:权限,或者大对象的访问权限。模式结构:代理类和被代理类实现同一个接口,用户访问的时候先访问代理对象,然后让代理对象去访问被代...原创 2017-07-19 11:59:32 · 516 阅读 · 0 评论 -
Template(模板模式)
https://github.com/singgel?tab=repositories 一句话总结:父类定义流程,子类实现流程。生活中的例子:iphone生产有多个国家,但流程只有一个。解决什么问题:业务有多种,但都有规定的流程。项目里面怎么用:一般基类的实现都是模板模式,BaseDAO,bBaseService。模式结构:定义一个抽象父类定义流程,或者常用方法和常量,子类继承...原创 2017-08-24 13:15:27 · 530 阅读 · 0 评论 -
Strategy(策略模式)
https://github.com/singgel?tab=repositories 一句话总结:定义一系列算法并可以互相替换。生活中的例子:图片的格式,压缩文件的格式。解决什么问题:做一件事情有很多种方法。项目里面怎么用:购物车里面的付款方式。模式结构:声明一个顶级接口,定义一个策略方法,具体的实例都要实现这个接口。框架里面使用:hibernate的主键生成策略。J...原创 2017-08-24 13:28:04 · 572 阅读 · 0 评论 -
Adapter(适配器模式)
https://github.com/singgel?tab=repositories 一句话总结:将两个原来不兼容的类兼容起来一起工作。生活中的例子:变压器、充电器解决什么问题:已经存在的相同功能的代码,但是接口不兼容,不能直接调用。项目里面怎么用:在使用旧的API的时候,没有源码,和新的不能兼容。模式结构:分为类适配器和对象适配,一般常用的就是对象适配器,因为组合由于继承。...原创 2017-08-01 13:50:44 · 372 阅读 · 0 评论 -
Factory(简单的工厂模式)
https://github.com/singgel?tab=repositories 一句话总结:用一个方法来代替new关键字生活中的例子:制衣厂、面包厂等生产厂。解决什么问题:对象产生过多,或者经常有子类替换生成。项目里面怎么用:对于经常生成的对象,或者父子类替换的对象。模式结构:写一个对外声明的方法,方法里面使用new关键字代替。框架里面使用:spring的核心就是工...原创 2017-05-25 08:45:27 · 406 阅读 · 0 评论 -
Singleton(单例模式)
https://github.com/singgel?tab=repositories 一句话总结:一个类在Java虚拟机中只有一个对象,并提供一个全局访问点。生活中例子:太阳、月亮、国家主席等。解决什么问题:对象的唯一性,性能浪费太多。项目里面怎么用:数据库连接对象,属性配置文件的读取对象。模式结构:分为饿汉式和懒汉式(如果考虑性能问题的话,就使用懒汉式,因为懒汉式是在方法里...原创 2017-06-22 17:03:04 · 369 阅读 · 0 评论 -
java 23种设计模式(附代码例子)
别人总结的资料,比较容易理解(站在各位巨人的肩膀上)github:https://github.com/singgel/hekuangsheng/tree/master/Design创建型抽象工厂模式 http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html工厂方法 http://www.cnblogs....原创 2019-02-12 16:38:12 · 805 阅读 · 0 评论