
大话设计模式学习笔记
qq_20062767
编程有灵魂,当你沉迷其中的时候,有一种行走于代码行间的感觉。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大话设计模式之策略模式(结合简单工厂),程序完善过程蕴含智慧
不管你编程经验多么丰富,也很难一次性写出完美无瑕的程序,程序都是一步步完善出来的,完善的过程中蕴含中无穷的智慧与乐趣,随着你编程的时间增加,你写的程序会一次比一次好,但是前提是你要不断的思考,随着面向对象语言的流行,我们要学会使用面向对象的思想来编写程序,而不是使用面向过程的方式来编写程序,但是这也需要不断锤炼,只要不断思考,我们终究可以写出完全面向对象的程序!废话有点多,请原谅,接下来说重点,说原创 2015-12-13 14:11:03 · 483 阅读 · 0 评论 -
大话设计模式之外观模式(Java版实现) 买股票还是买基金在此揭晓
随着物价上涨,我们发觉我们的钱越来越不值钱,如是很多人想到钱生钱的方式,如炒股票,炒基金,炒楼,买国债等等,作为程序员的我们,就用代码来实现,进而深入分析一下究竟买哪个最好,别急,慢慢来。第一步:创建三个股票类,一个国债类,一个房地产类,他们都有买入和卖出的行为。//股票1public class Stock1 { public void sell() { System.out原创 2015-12-26 20:00:07 · 1025 阅读 · 0 评论 -
大话设计模式之状态模式(java版实现)
状态模式的定义为:当一个对象的内部状态发生改变时允许改变其行为,这个对象看起来像是改变了其类本身。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列当中,可以把复杂的判断逻辑简化。案例:我们一天的工作状态都是不同的,早上可能精神状态最好,下午可能会犯困,傍晚精神会好转,晚上可能要加班,随着时间的改变而改变。程序实现如下:第原创 2016-01-10 21:46:49 · 546 阅读 · 0 评论 -
使用java类库中的Observable类和Observer接口实现观察者模式(精简版)
使用java类库中的Observable类和Observer接口实现观察者模式会更加精简,Observable类定义了观察者关注的主题行为,我们只需要继承Observable类就可以达到复用的效果,不用自己定义抽象类或接口,Observable类中有三个方法需要我们了解,第一个是添加观察者的方法addObserver(Observer o),第二个标记我们继承类Observable的主题类对象为已原创 2016-01-10 18:52:52 · 1216 阅读 · 0 评论 -
大话设计模式之模板方法模式(Java版实现)考生做试卷问题
我们知道随着项目的进展,我们要编写的代码逐渐增加,代码重复的地方难免会有,我们也很纠结,使用面向对象的编程语言却写出了低可重用性的代码,有一种模式可以提高我们代码的可重用性,那就是模板方法模式,其实其它的设计模式也可以,但是这次就不说了,接下来我们了解一下模板方法模式。我们去面试的时候,监考官都会让我们笔试,不同的考生可能有不同的答案,那么我们就用代码来实现一下这个过程。第一步:创建一个试原创 2015-12-25 21:36:36 · 616 阅读 · 0 评论 -
大话设计模式之观察者模式
观察者模式(发布-订阅模式)定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 。这个主题对象在状态发生变化的时,会通知所有的观察者对象,使得它们能够自动的更 新自己。遵循的原则:依赖倒置的原则、里氏替换原则。观察者模式的特点:将一个系统分隔成一系列相互协作的类有一个很不好的副作用,那就是需要维护相互对象将的一致性,我们不希望为了维护一致性而是各类紧密相连,这样会给维护、扩展和重用都带来不便。使用场景:1.当一个对象改变时需要同时改变其他对象的时候原创 2016-01-09 16:30:14 · 355 阅读 · 0 评论 -
大话设计模式之原型模式(Java版) 拷贝也需要技术
作为程序员的我们,面对时刻需求改变的情况,总会有懒惰的时候,有时候会使用拷贝代码的方式来完成需求,明明知道后果有时是很槽糕的,但是还是去做,可我们是否有一种可以解决在拷贝的方式下减少槽糕的事情发生的模式呢,答案是肯定的,有,那就是我们的原型模式,原型模式的定义是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这是官方的说法,接下来用案例说明。就例如我们在面试的时候常常要复制简历,原创 2015-12-24 20:38:03 · 666 阅读 · 0 评论 -
大话设计模式之工厂方法
工厂方法是一个使用很广泛的设计模式,接下来我使用对比的方式来说明工厂方法的优点与不足,与之前发表的文章简单工厂对比。大家可以看代码实现的不同。1.测试类/** * 需求:使用面向对象的思想完成一个简易计算器 * 可以实现+、-、*、/运算 */public class TestCount { public static void main(String[] args) {原创 2015-12-20 15:07:23 · 418 阅读 · 0 评论 -
大话设计模式之代理模式
对于广大男同胞来说,泡妞是一件很正常的事情,然而有些羞答答的男生,却缺乏主动,从而不敢主动出击,而是通过朋友来传递对喜爱的女生的爱慕之情,帮忙送礼物啥的,最后不但没有泡妞成功,反而给朋友泡了心爱的女生,实在悲惨之至,然而,作为程序员的我们,如果学过设计模式,可能就不会烦这种错误,这是一个代理模式的最好体现了,补充一句,代理模式用途很广,前面是开玩笑的哈!如果要实现这个泡妞的过程,我们可以用代码来实原创 2015-12-18 20:27:21 · 549 阅读 · 0 评论 -
大话设计模式之装饰者模式
需求:设计一个系统,可以给人装饰不同的服饰,例如:帽子,T恤,背心,帆布鞋等等。分析:我们都知道人的服饰是各种各样的,是不确定的,也就是说不同的人可以有不同的装饰,一个人也可以换不同的服饰,要设计这样一个可以动态换服饰的系统,我们会选择使用装饰者模式来设计,这是一个经典的设计模式,相信很多人都知道。设计步骤:第一步:创建对象Person,也就是我们需要装饰的对象,对象里面有一个属性na原创 2015-12-18 12:35:28 · 509 阅读 · 0 评论 -
大话设计模式学习笔记--简易计算器(简单工厂)
需求:使用面向对象的思想实现一个简易计算器,可以进行+、-、*、/运算。可能你觉得这是一个很简单的题目,如是你不会思考太多,就会马上着手开始写代码,你写的代码可能会是这样。import java.util.Scanner;/** * 需求:完成一个简易计算器 * 可以实现+、-、*、/运算 * 菜鸟实现: */public class TestCount1 {原创 2015-11-30 13:31:04 · 630 阅读 · 0 评论 -
大话设计模式之建造者模式(生成器模式) 建造队与指挥者的纠缠
建造者模式,相信很多人都听说过,或者使用过,也叫做生成器模式。例如我们都知道人由头部、身体、双手和双脚组成,我们使用建造者模式来实现一下这个功能。第一步:创建一个人对象类,有四个属性,分别代表头部、手、脚、身体,同时也有一个行为,就是显示自己。public class Person { private String head; private String boby; priva原创 2015-12-30 11:41:36 · 600 阅读 · 0 评论 -
单例模式
单例模式是一种很常用的模式,也是很多人都知道的一种模式,单例模式的定义是:保证一个类只有一个实例,并提供一个访问它的全局的访问点。这里的全局访问点就是我们所说的公开的静态获得实例的方法。案例:我们创建两个类,一个类是Singleton,一个类是Consumer,并且都是单例,只允许创建一个实例。Singleton类使用单例模式中的饿汉式实现,Consumer类使用懒汉世来实现。Single原创 2016-03-06 19:46:55 · 475 阅读 · 0 评论