摘要: 背景 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的 阅读全文
posted @ 2019-02-13 11:11 tujietg 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 定义: 定义一个接口,让创建对象延伸到子类,工厂方法让实例化延伸到子类。 简单工厂VS工厂模式: 简单工厂类最大的有点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件,动态的实例化相关的类,对于客户端来说,去除了与具体产品的实现。 简单工厂类中,我们采用的是计算器的Demo,我们的计算器实现了 阅读全文
posted @ 2019-01-16 19:16 tujietg 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 定义: 为其他的对象提供一种代理,以控制对这个对象的访问。 大白话就是,对象不想展示给客户端,或者不方便展示给客户端,那就通过一个类来间接的调用这个类。 代理类和实体类共同实现一个接口,代理类中保存一个对实体类的引用,提供一个实体类一样的接口,这样,代理类就可以替换实体类了。 结构: subject 阅读全文
posted @ 2019-01-15 14:11 tujietg 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 定义: 准备了一组策略(算法),将算法封装起来,他们继承同一个接口或者抽象类,保证了他们可以替换。 并且,这种替换是不需要客户端来参与的。策略模式在设计模式中算是比较简单的,所以经常与工厂模式等其他的设计模式一起使用。 结构: Context:上下文,引用了Strategy对象,负责算法的调用。 S 阅读全文
posted @ 2019-01-11 21:38 tujietg 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 刚开始学习面向对象的时候,看到this和super觉得this就是指当前对象,super指最近的父级对象。觉得用处不大。 后来,随着学习的深入,看别人的代码越来越多,发现this和super的使用率贼高~,就决定深入的了解一下这俩兄弟。 既然设计到继承和对象,我们就可以从JVM的堆栈的角度去分析。 阅读全文
posted @ 2019-01-11 11:59 tujietg 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 定义: 装饰模式(Decorator),在不改变对象的前提下,动态给对象增加一些功能。 对于,增加功能而言,装饰者模式比增加子类更灵活。 如果想给一个特定的类A增加功能,我们一般采用两种模式: 1,继承该A,利用其子类在实现这个A的函数的同时,增加一些新的方法。这个方法是静态的,我们不能通过继承来实 阅读全文
posted @ 2019-01-10 20:43 tujietg 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 设计模式一共有六大原则: 单一原则、开放封闭原则、接口分离原则、里氏替换原则、最少知识原则、依赖倒置原则。 这篇博客是自己对依赖倒转&里氏代换原则的一些拙见,有何不对欢迎大家指出。 依赖倒转原则 高层模块不应该依赖于低层模块,两者都应该依赖于抽象。 抽象不应该依赖细节,细节应该依赖抽象。 在面向对象 阅读全文
posted @ 2019-01-09 09:54 tujietg 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 设计模式一共有六大原则: 单一原则、开放封闭原则、接口分离原则、里氏替换原则、最少知识原则、依赖倒置原则。 这篇博客是自己对开放封闭设计原则的一些拙见,有何不对欢迎大家指出。 开放封闭原则: 软件实体(类,模块,函数等)应该可以扩展,但是不可修改。 (解释:其原则就是,设计一个类的时候时刻考虑,尽量 阅读全文
posted @ 2019-01-08 19:57 tujietg 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 设计模式一共有六大原则: 单一原则、开放封闭原则、接口分离原则、里氏替换原则、最少知识原则、依赖倒置原则。 这篇博客是自己对单一设计原则的一些拙见,有何不对欢迎大家指出。 单一原则: 就一个类而言,应该仅有一个引起它变化的原因。 如何理解这句话? 一个类中只负责一个职责。当我们觉得这个“职责”不符合 阅读全文
posted @ 2019-01-04 15:24 tujietg 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 本质: 通过传入参数,来获取所需要的对象,不需要了解其中的实现。 Demo: Java实现计算器。 未使用设计模式的代码: 简单工厂模式结构: Operation:抽象运算类,所有的运算实现类的父类,包含了抽象的方法。 OperationImpl:继承运算的父类,重写其运算方法,一般是多个类。(加减 阅读全文
posted @ 2019-01-03 16:46 tujietg 阅读(161) 评论(0) 推荐(0) 编辑