摘要: 单例模式应该是在面试中问的最多的一种设计模式. 下面记录一下单例的几种实现方式: 1. 懒汉(线程不安全) 2. 懒汉(线程安全) 3. 饿汉 4. 双重校验锁 阅读全文
posted @ 2016-08-14 10:12 Manchester117 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 建造者模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 解决什么问题: 某些结构复杂的对象”的创建工作,由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口. UML: 代码结构: 被拷贝的对象: 被抽象的工厂: 工厂实现类: 拷贝实现: 阅读全文
posted @ 2016-08-10 23:17 Manchester117 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 建造者模式: 建造者模式是将复杂的对象构造进行分离,使得每个部件完成比较独立的工作.通过抽象类,接口来约束建造的过程. 解决什么问题: 当生成的产品对象内部具有复杂的结构. 当复杂对象需要与表示分离,可能需要创建不同的表示时. 当需要向客户隐藏产品内部结构表现时. UML: 代码结构: 商品的实体: 阅读全文
posted @ 2016-08-08 22:49 Manchester117 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式: 此模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类. 解决什么问题: 抽象工厂模式允许客户在使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品.从而实现客户从具体的产品中解耦. U 阅读全文
posted @ 2016-08-07 20:23 Manchester117 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式: 定义一个创建产品对象的工厂接口,让子类决定实例化哪种实例对象,将实际创建实例对象的工作推迟到子类当中,核心工厂类不再负责具体产品创建. 解决什么问题: 当子类型可能会有很多,以后需要不断添加不同子类的实现. 当一个系统尚在框架设计阶段,还不知道将来需要实例化那些具体类时. 系统设计之 阅读全文
posted @ 2016-08-07 18:03 Manchester117 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 修改方式是在open方法指定参数encoding='UTF-8': 阅读全文
posted @ 2016-07-23 22:01 Manchester117 阅读(122969) 评论(3) 推荐(2) 编辑
摘要: Mybatis是一个持久层的框架,是Apache下的顶级项目.它让程序员将主要精力放在实现业务的SQL上,通过所提供的映射方式,自由灵活生成满足需要SQL语句.Mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成Java对象. 一. MyBa 阅读全文
posted @ 2016-07-14 01:09 Manchester117 阅读(221) 评论(0) 推荐(0) 编辑