精华内容
下载资源
问答
  • 在学习完设计模式后,LZ想告诉大家: ...对于一名工作不久的程序员来说,学习设计模式是非常有必要的,设计模式可以让你知道在某些场景下如何来设计出适合场景的架子,对,因为经验不丰富,大部分程序员写的代码的...

    版权声明:转载必须注明本文转自晓_晨的博客:http://blog.csdn.net/niunai112

    在学习完设计模式后,LZ想告诉大家

           对于一名工作不久的程序员来说,学习设计模式是非常有必要的,设计模式可以让你知道在某些场景下如何来设计出适合场景的架子,对,因为经验不丰富,大部分程序员写的代码的可维护性是非常差的,基本上只是实现了功能,没有做其他的考虑,比如以后要加新功能,目前写的程序改怎么改,或者类之间的关系非常复杂,不熟悉代码的人,根本不能开发等问题。

           而设计模式,LZ认为是前辈程序员在大量开发中累积的经验,然后归纳为了这些设计模式,理所当然的,这23个设计模式绝不是代表了所有的开发真理,在问题面前应该灵活变通,当你的代码类结构合理, 易于维护 ,可扩展性强,那么是否使用了这23个设计模式已经无所谓了,因为这些前辈留下来的经验就是为了当你的项目做的非常大,非常复杂的时候,仍然能让你能掌控这些代码,不会让他们乱成一团。这才是设计模式真正的意义吧。

            所以,你若是小白,那么快学习设计模式吧,这些设计模式起码能让你在程序员生涯中少走2年的弯路,也许还不止。如果是老手了,因为LZ还是比较小白的,无法给出非常深的见解,当一个老前辈,肯定已经遇到过因为代码失控而引发的一系列的问题的事情了,当他们看向设计模式的时候,肯定是会觉得每一个模式都说到心坎里去的感觉。

           若你要学习源码,那么学习完设计模式再看的话,会清晰不少。

           最后总结一下就是,设计模式一定得学,若你经验比较少,那么就细细的看,等以后遇到问题的时候,自然会想起这些东西,当有共鸣时,这些设计模式就是你自己的东西了,若你经验老道,那么就可以结合自生经历,体会这个模式的妙处了,当然,若是有些地方与你的实际情况不符,当然以实际情况为准,别人好的东西就学习,不好的就摒弃,这些是前辈留下的编码技巧,是他们根据自己的经历总结出来的,

           接下来LZ会重新去学习一边spring和mybatis的源码,可能也会记录下来,让后生们少走一些弯路。

           对了LZ把工厂模式和抽象工厂模式写在了一起,所以一共只有22篇,不想花时间分开了,各位小伙伴见谅哈。希望大家能好好学习,成为自己心中的那个人!

    下面是设计模式的汇总地址:
    设计模式之六大设计原则
    设计模式(一)单例模式
    设计模式(二)工厂模式
    设计模式(三)策略模式
    设计模式(四)适配器模式
    设计模式(五)享元模式
    设计模式(六)建造者模式
    设计模式(七)原型模式
    设计模式(八)桥接模式
    设计模式(九)外观模式
    设计模式(十)组合模式
    设计模式(十一)装饰器模式
    设计模式(十二)代理模式
    设计模式(十三)迭代器模式
    设计模式(十四)观察者模式
    设计模式(十五)中介者模式
    设计模式(十六)命令模式
    设计模式(十七)状态模式
    设计模式(十八)访问者模式
    设计模式(十九)责任链模式
    设计模式(二十)解释器模式
    设计模式(二十一)备忘录模式
    设计模式(二十二)模板模式
    设计模式总结篇(为什么要学习设计模式,学习设计模式的好处)

    Git地址
    本篇实例Github地址:https://github.com/stackisok/Design-Pattern/tree/master/src/

    展开全文
  • 如何学习设计模式

    万次阅读 热门讨论 2016-10-26 17:23:27
    GoF的[设计模式]是经典著作,有人看了好多遍仍然说没有看懂,许多人看懂了一些模式但不知道如何应用……这里,yqj2065抛砖引玉,讨论一下如何学习设计模式。 ① 学习技巧 学习设计模式时,有一些技巧能够帮助...

    GoF的[设计模式]是经典著作,有人看了好多遍仍然说没有看懂,许多人看懂了一些模式但不知道如何应用……这里,yqj2065抛砖引玉,讨论一下如何学习设计模式。

    ①    学习技巧

    学习设计模式时,有一些技巧能够帮助你快速理解设计模式。

    a)        使用较简单的面向对象的语言Java、C#。GoF的[设计模式]实质上是面向对象的设计模式。[GoF·1.1]中提到“程序设计语言的选择非常重要,它将影响人们理解问题的出发点”。从学习设计模式的角度看,Java和C#较C++更容易一些。比如Java接口等,能够更有效展现设计模式的意图。

    b)       使用工具BlueJ。BlueJ最大的好处,就是提供了简单的类图。正如我在简明设计模式Java中所做的,较少去专门画类图,而是在BlueJ中截图。在学生上机编写演示程序时,常常先看他的类图,以判断他的程序是否正确,必要时再看源代码。

    c)        日常生活的隐喻。用一些实际生活中的例子来说明某某模式,能够让你快速掌握某模式的目的和实现代码的结构。同时,你要认识到,这种隐喻如同告诉你(2+3)2=22+2*2*3+32,你需要自己举一反三,得出(a+b)2=a2+2ab+b2。在实际工作中的模式的具体应用,则相当于应用代数公式。

    d)       动手实践和怀疑精神。看显浅的参考书或上网查阅资料时,要自己敲(复制也可以)代码并运行,要多修改别人的源代码提出自己的观点:为什么书中不这样设计、为什么要那样设计;如果增添一些方法、方法参数、或成员变量会如何?必须要自己亲自动手,最起码要运行。另外,要敢于向博主提问、拍砖。你甚至可以质疑GoF的某些章节的解说和意图,更何况一些博主呢。

    ②    基础知识

    这些知识让你知道,设计模式好在何处。

    a)        面向对象范式。也就是人们传说的思想。封装、继承和多态这些东西,在我看来比if、for等稍微高一点,也属于语法问题。面向对象编程要掌握的三大原则柏拉图(Plato)原则、里氏(Liskov)替换原则和Parnas原则。这三个原则其实非常简单。任何原则,你觉得很难一见钟情,很难快速认同,那它就不会是好原则。

    b)       设计原则。许多人列举了7大原则,如单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则。LSP,我将它提升为面向对象范式的3大基石之一;单一职责和接口隔离,主要作为面向对象分析/OOA时职责划分所遵循的原则,此时你可以不太在意。依赖倒转原则,我把它作为垃圾扔掉,因为开闭原则或者直接地说“依赖于抽象类型原则”已经包含了依赖倒转原则的精华,而依赖倒转原则的糟粕由IoC继承。当然,回调,我很强调。所以,你要掌握的有抽象依赖原则(OCP)、单向依赖原则(含对回调的学习)和最低依赖原则(合成复用原则、迪米特法则)

    c)        UML的初步了解。这是学习设计模式的工具。在早期,你甚至可以仅了解BlueJ的相关图示,也就10分钟的事情。

    ③    境界

    《五灯会元》卷十七中,有一则唐朝禅师青原惟信禅师的语录:“老僧三十年前未参禅时,见山是山,见水是水。及至后来亲见知识,有个入处,见山不是山,见水不是水。而今得个休歇处,依前见山只是山,见水只是水。”

    a)        仔细研究GoF的[设计模式],逐个学习其意图和结构,是一个抱着字典学习英语的方式。见山是山,见水是水,导致你可能在实际工作中生搬硬套、东施效颦。

    b)       建议从简单的场景出发,自己发现或设计出某种模式。你从中体会该模式是如何解决问题的,这样,该模式成为你自己的东西,你才不会出现知易行难的问题。所有的设计模式不过是基本原则和理念在特定场合的应用。你可能不知道某个设计模式的名字,但是你知道它一切的优缺点和变体以及应用场合。见山不是山,见水不是水。

    c)        你对基本原则和理念融会贯通,你可以惋惜:“我找到一种模式,原来在[设计模式](其实是某个特殊的书、文章提到的模式)中早就有了这种模式”。这时,模式不模式又如何呢?反模式又怎样。看见一个模式,你会说:“嗯,这是一种有用的模式”。见山只是山,见水只是水。

     

    以上一点浅见。


    注:【】中的内容是我加的。

    1 转录【IT168知识库】

             发现很多初学设计模式的人都有一些特点就是学习了某个设计模式之后,貌似理解了,但是却不知道怎么去使用这些所谓的精华经验,苦于不知如何下手。我最初学习设计模式的时候也有类似的经验,我将我的经验分享出来,希望能对初学者有帮助。
            我对设计模式产生兴趣是在大概一年以前,最初看书的时候好像是看懂了,大概知道他在说什么。看了几个模式之后就开始寻找时机来套用套用这些模式。结果是除了Singleton模式以外的其他模式都没有找到应用的场所。然后我就没开始看下去了,我知道再看也没用,但是我并没有放弃对设计模式的关注。
            不久我就在MSDN的Webcast上看到李建忠的 C#面向对象设计模式纵横谈讲座,很不错的系列讲座,让我对设计模式有了新的理解。我意识到学习设计模式,确切的讲是学习面向对象的设计模式,应该从学习面向对象开始。【面向对象的原理如同了解下象棋的规则,而设计模式相当于残局,不知道规则看什么残局】由于之前一年都在做asp.NET开发,虽然都是在写类、学着duwamish搞分层架构、搞类型化DataSet、也弄过自定义实体类,但好像一年下来还没怎么用过接口,什么多态也是极少用。事实上对面向对象的编程思想的认识还是很模糊的。
            重新认识OO:面向对象编程是一种思想,以面向对象的思维来思考软件设计结构,从而强化面向对象的编程范式。面向对象的特点是封装,继承,多态【这些也算?】。所以从那是开始,当我设计一个类的时候,不断的提示自己以下三点:
    第一:别把自己的数据公开,除非你要向别人提供数据,使用尽量低的访问权限。
    第二:以一个外部的视角来看类,紧记不要要求别人要在知道你是怎么实现一个方法之后才能使用我的类。
    第三:分清类的职责,该这个类做的事情就要在这个类中实现,不该我的类做的事情就让别的类去实现。
    在这三点的指导下来写类,写程序开始像在做“设计”了^_^。
    一段时间后对设计模式就慢慢有感觉了,并能够找到一些设计模式的应用场景了。并常套用套用那些模式,逐渐的加深对模式的理解,并把它变成自己的东西,能够在其他的地方灵活的用起来。

    2. 转录 《易学设计模式·1.4  如何学习设计模式》郭志学 人民邮电出版社

    1.4  如何学习设计模式
    在了解了设计模式的历史和分类后,应该如何学习设计模式呢?在学习设计模式之前,读者一定要树立一种意识,那就是:设计模式并不只是一种方法和技术,它更是一种思想、一个方法论。它和具体的语言没有关系,学习设计模式最主要的目的就是要建立面向对象的思想,尽可能地面向接口编程、低耦合、高内聚,使你设计的程序尽可能地复用。【似是而非。学习设计模式能够更好理解面向对象的思想,设计模式是一些设计的技巧和窍门,不要上升到思想、方法论好不好
    有些软件开发人员,在程序设计时,总想着往某个设计模式上套,其实这样是不对的,并没有真正掌握设计模式的思想。其实很多时候读者用了某种设计模式,只是自己不知道这个模式叫什么名字而已。因此,在程序设计时,要根据自己的理解,使用合适的设计模式。
    而有另外一些软件开发人员,在程序设计时,动不动就给类起个类似模式的名字,比如叫某某Facade、某某Factory等,其实类里面的内容和设计模式根本没有一点关系,只是用来标榜自己懂设计模式而已。
    因此,学习设计模式,首先要了解有哪些方面的设计模式可以供开发人员使用,然后再分别研究每个设计模式的原理,使用时机和方法,也就是说要在什么情况下才使用某个设计模式,在了解某个设计模式的使用时机时,还要了解此时如果不使用这个设计模式,会造成什么样的后果。当对每个模式的原理和使用方法都了解了以后,更重要的是,学习面向对象的思想方式,在掌握面向对象的思想方式后,再回过头来看设计模式,就会有更深刻的理解,最后,学习设计模式,一定要勤学多练。【就最后一句很赞同】

    展开全文
  • 这样学设计模式

    千次阅读 2017-07-01 15:50:11
    源自:http://blog.csdn.net/yqj2065/article/details/39103857 GoF的[设计模式]是经典著作,...①学习技巧学习设计模式时,有一些技巧能够帮助你快速理解设计模式。a) 使用较简单的面向对象的语言如Java、C#。GoF的

    源自:http://blog.csdn.net/yqj2065/article/details/39103857

        GoF的[设计模式]是经典著作,有人看了好多遍仍然说没有看懂,许多人看懂了一些模式但不知道如何应用……下面抛砖引玉,讨论一下如何学习设计模式。

    ①学习技巧

    学习设计模式时,有一些技巧能够帮助你快速理解设计模式。

    a)        使用较简单的面向对象的语言如Java、C#。GoF的[设计模式]实质上是面向对象的设计模式。[GoF·1.1]中提到“程序设计语言的选择非常重要,它将影响人们理解问题的出发点”。从学习设计模式的角度看,Java和C#较C++更容易一些。比如Java接口等,能够更有效展现设计模式的意图。

    b)       使用工具BlueJ。BlueJ最大的好处,就是提供了简单的类图。正如我在简明设计模式Java中所做的,较少去专门画类图,而是在BlueJ中截图。在学生上机编写演示程序时,常常先看他的类图,以判断他的程序是否正确,必要时再看源代码。

    c)        日常生活的隐喻。用一些实际生活中的例子来说明某某模式,能够让你快速掌握某模式的目的和实现代码的结构。同时,你要认识到,这种隐喻如同告诉你(2+3)2=22+2*2*3+32,你需要自己举一反三,得出(a+b)2=a2+2ab+b2。在实际工作中的模式的具体应用,则相当于应用代数公式。

    d)       动手实践和怀疑精神。看显浅的参考书或上网查阅资料时,要自己敲(复制也可以)代码并运行,要多修改别人的源代码提出自己的观点:为什么书中不这样设计、为什么要那样设计;如果增添一些方法、方法参数、或成员变量会如何?必须要自己亲自动手,最起码要运行。另外,要敢于向博主提问、拍砖。你甚至可以质疑GoF的某些章节的解说和意图,更何况一些博主呢。

    ②基础知识

    这些知识让你知道,设计模式好在何处。

    a)        面向对象范式。也就是人们传说的思想。封装、继承和多态这些东西,在我看来比if、for等稍微高一点,也属于语法问题。面向对象编程要掌握的三大原则是柏拉图(Plato)原则、里氏(Liskov)替换原则和Parnas原则。这三个原则其实非常简单。任何原则,你觉得很难一见钟情,很难快速认同,那它就不会是好原则。

    b)       设计原则。许多人列举了7大原则,如单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则。LSP,我将它提升为面向对象范式的3大基石之一;单一职责和接口隔离,主要作为面向对象分析/OOA时职责划分所遵循的原则,此时你可以不太在意。依赖倒转原则,我把它作为垃圾扔掉,因为开闭原则或者直接地说“依赖于抽象类型原则”已经包含了依赖倒转原则的精华,而依赖倒转原则的糟粕由IoC继承。当然,回调,我很强调。所以,你要掌握的有抽象依赖原则(OCP)、单向依赖原则(含对回调的学习)和最低依赖原则(合成复用原则、迪米特法则)

    c)        UML的初步了解。这是学习设计模式的工具。在早期,你甚至可以仅了解BlueJ的相关图示,也就10分钟的事情。

    ③境界

    《五灯会元》卷十七中,有一则唐朝禅师青原惟信禅师的语录:“老僧三十年前未参禅时,见山是山,见水是水。及至后来亲见知识,有个入处,见山不是山,见水不是水。而今得个休歇处,依前见山只是山,见水只是水。”

    a)        仔细研究GoF的[设计模式],逐个学习其意图和结构,是一个抱着字典学习英语的方式。见山是山,见水是水,导致你可能在实际工作中生搬硬套、东施效颦。

    b)       建议从简单的场景出发,自己发现或设计出某种模式。你从中体会该模式是如何解决问题的,这样,该模式成为你自己的东西,你才不会出现知易行难的问题。所有的设计模式不过是基本原则和理念在特定场合的应用。你可能不知道某个设计模式的名字,但是你知道它一切的优缺点和变体以及应用场合。见山不是山,见水不是水。

    c)        你对基本原则和理念融会贯通,你可以惋惜:“我找到一种模式,原来在[设计模式](其实是某个特殊的书、文章提到的模式)中早就有了这种模式”。这时,模式不模式又如何呢?反模式又怎样。看见一个模式,你会说:“嗯,这是一种有用的模式”。见山只是山,见水只是水。


    展开全文
  • verilog学习记(学习设计cpu)

    千次阅读 2019-06-22 09:58:18
    【 声明:版权所有,欢迎转载,请勿用于商业用途。... 很早之前,自己就对cpu的设计非常感兴趣。和十几年前比较,现在网上开源的cpu代码还是很多的,比如说risc-v、...那么,如果是希望能够深入了解cpu是怎么设计的...

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

     

        很早之前,自己就对cpu的设计非常感兴趣。和十几年前比较,现在网上开源的cpu代码还是很多的,比如说risc-v、openrisc、openmips等等。当然,如果是从学习的角度来说,openrisc和openmips还是非常不错的。那么,如果是希望能够深入了解cpu是怎么设计的,应该需要做哪些准备呢?

     

    1、深入了解指令集

        了解指令集是掌握cpu很重要的一个环节。立即数指令、寄存器指令、数学运算指令、逻辑运算指令、比较指令、跳转指令、加载保存指令、异常指令以及特殊状态寄存器指令,这些指令都非常重要。

     

    2、了解gcc、makefile、link、objcopy

        测试cpu的时候很多情况下需要自己编写汇编语言,这个时候就需要编写简单的makefile,因此有必要掌握基本的makefile编写规则。除此之外,编译器gcc、链接器link、二进制工具binutils也是需要掌握的。

     

    3、熟悉和安装linux

        为了编译代码,我们的pc需要安装linux操作系统。不过有virtualbox和vmware这些虚拟机软件,安装linux其实是一件很轻松的事情。

     

    4、掌握基本的verilog语法

        目前数字电路设计主要有verilog和vhdl两种语言,其中verilog在公司里面用的比较多,而vhdl在学校里面使用比较多。事实上最好两种语言都要掌握,实在不行必须掌握verilog,另外一种看懂就可以了。

     

    5、了解一种仿真工具

       如果不需要在实际开发板上面运行,那么至少需要掌握modelsim或者iverilog其中的一种。modelsim在windows平台上面使用较多,而iverilog是linux上的开源软件,也可以拿来作为使用。

     

    6、掌握一种IDE工具和开发板

        不管在仿真软件上面效果多完美,最终verilog程序还是要下载到开发板上运行的。只有下载到具体的板子上面,我们才会关注时序、信号完整性、setup、hold、亚稳态这些平时不太注意的情况。个人建议可以选择vivado软件工具和zynq开发板进行学习。

     

    7、了解一种总线和几种常用的硬件协议

        单独的cpu虽然也能使用,但是目前使用比较多的还是soc形式的芯片,因此可以选择一种开源bus进行学习,比如说wishbone。关于硬件协议,按照最小系统来说,应该还需要sdram、norflash or nandflash、gpio、uart、晶振电路、复位电路就可以了。除了sdram之外,spi、nand、gpio、uart都不算太复杂,大家可以稍微了解一下就可以学会了。如果学有余力,多多了解sd、jtag、lcd、i2c、can、i2s也不错。

     

    8、深入了解组合逻辑和时序逻辑

        数字电路设计其实是一门寄存器为主的设计方法学。寄存器与寄存器之间用组合逻辑进行连接。电路以时钟作为驱动方法,按照组合逻辑-时序逻辑-组合逻辑-时序逻辑的方法不停地进行运算和控制。组合逻辑主要是进行各种编码、译码、选择、优先级判断等操作,而时序逻辑主要是处理复位、freeze、异常、长时间操作等各种复杂情况。这方面建议大家多看看openmips的代码,应该会有不错的收获。

     

    9、继续了解复杂的cpu设计

        现在的cpu设计不仅仅是简单的流水线操作,除了常用的五级流水线之外,还有mmu、cache、多发射流水线、分支预测、lsu乱序、多核cache同步、score board算法、寄存器重命名等等,建议大家可以深入下去继续学习,对自己的软件开发也会大有裨益。

     

    ps:

      a、学习cpu不可避免和硬件打交道,因此万用表、示波器、逻辑分析仪这些设备最好也掌握一下。现在这些设备其实很便宜了,不应该成为学习的障碍。

     

      b、目前有一个蜂鸟的riscv比较火,建议大家可以好好关注一下。

      相关地址为https://github.com/SI-RISCV/e200_opensource

     

     

     

     

    展开全文
  • 跟着项目学设计模式(一):初识单例模式 跟着项目学设计模式(二):简单工厂 跟着项目学设计模式(三):工厂模式 跟着项目学设计模式(四):抽象工厂模式 跟着项目学设计模式(五):简单工厂+单例模式+静态类+延迟加载 ...
  • 千万不要学设计模式

    千次阅读 2019-02-13 22:36:24
    因为如果你比较菜,而且理解能力一般,经验也浅,你强制学习和使用设计模式,容易误入歧途,生搬硬套,只适合研究和学习一下,能够明白最好,不明白就算了,还不如老实从面向对象分析设计以及UML等基础的东西起。...
  • 跟着ZHONGHuan学习设计模式--桥接模式

    万次阅读 多人点赞 2014-08-13 23:09:36
    转载请注明出处!!!http://blog.csdn.net/zhonghuan1992 ...  跟着ZHONGHuan学习设计模式 桥接模式  学习桥梁模式之前,最好能够掌握开闭原则和组合复用原则,明白这两个设计原则后,会对该模式的
  • 我这人是很提倡以练代的,光说不练假把式,看我QQ昵称,just do it。 书上得来终觉浅,我有加设计模式的群,里面大佬不少,但是好像都是书上的大佬,我野不好反驳他们。有人愿意问我,我就两个字:实战。 最近接手...
  • 菜鸟学设计模式——小单例有大秘密

    万次阅读 多人点赞 2013-06-17 08:58:56
    单例模式大家并不陌生,也都知道它分为什么懒汉式、饿汉式之类的。但是你对单例模式的理解足够透彻吗?今天我带大家一起来看看我眼中的单例,可能会跟你的认识有所不同。...《图解设计模式》下载  
  • 一起学习设计模式

    千次阅读 2012-06-20 15:23:53
    http://www.8qiu.cn/archives/category/programming/designpattern 设计模式源于生活,从生活的角度去思考设计模式,进步会很快
  • robbin谈如何学习设计模式

    千次阅读 2017-07-01 15:49:50
    源自:http://www.kuqin.com/beginner/20054.html备注:设计模式的根本也是为了代码重用,那只要你做到了很... 随便谈谈我对设计模式的看法吧。我极度反感言必称设计模式,什么要学好OO,必先学好Gof这类的屁话。坦率
  • 浅谈自己学习设计模式的感受

    千次阅读 2017-09-13 11:37:25
    对于开发工作者的世界,不管是开发讨论会上还是学习交流会上,更或者面试的时候,当提及设计模式,都会或多或少的让别人高看你一眼。为什么它会有这么强大的魅力呢!
  •  迄今为止,LZ已经将24种设计模式介绍完了,其中包括GOF23种设计模式以及简单工厂模式,这些设计模式之间并不是完全独立的,而是互相之间,会有一些相同的影子,下面LZ分几个方式去对比和总结下这些设计模式。...
  • 学习设计模式应该读哪些书

    万次阅读 2016-10-14 13:43:42
    国内目前能够找到的有关设计模式的书按照出版时间排列有以下几本(含点评): * GoF的《设计模式》1994年英文版出版,2000.09中文版出版 大师之作,经典作品,言简意赅,归纳充分。可惜中文版翻译质量很低,有些句子...
  • 以练代学设计模式 -- FTP文件管理项目

    千次阅读 多人点赞 2020-06-30 16:30:57
    不知不觉项目接近尾声,期间画了不少设计图,把能用上的设计模式都用上了。 今天来盘点一下。 文章目录主心骨:中介者模式拨云见日:责任链模式四面开花:模板方法模式其他小图润滑油:服务器间连接只给你看接口:...
  • 另外,如果你的程序已经具有易维护、可扩展、易复用,有一定的灵活性,或者说你已经能做到有所得编程都依赖于抽象,针对抽象而不是针对细节,那么你再学设计模式其实用处已经不大,至多相互印证一下自己的所思所想...
  • 菜鸟学设计模式之一思想准备

    千次阅读 2014-12-10 15:36:03
    设计模式,似乎是一种能够帮你快速追到女孩纸的办法,但是,就像花花公子一样,他们能用,但是说不出来,设计模式,我自己理解,无数年来,前人总结出来的经验。
  • 跟我一起命令模式吧!"); System.out.println("--------"); //删除其中一个粉丝 wechatServer.detach(fans1); wechatServer.publish("CRUD很无聊?跟我一起观察者模式吧!"); } }
  • 学设计模式 - Object Pool模式

    千次阅读 2012-05-20 14:52:27
    使管理实例创建的逻辑与实例被管理的类分离,可以得到内聚更好的设计。 7、实现 如果可以创建的对象数量有限制,或者池的大小有限制,可以使用一个简单的数组来实现池。否则,使用vector对象,负责管理...
  • 学习UI设计书籍推荐

    千次阅读 2019-04-08 17:29:56
    在学习UI设计的过程当中,特别想或者零基础的人来说,需要学习到很多知识,比如软件 PS AI ,理论 色彩 排版 规范 UE 等,这些都是一名UI设计师需要学习的知识,而学习到这些知识,可以通过视频,书籍,网站,培训...
  • 学习6大设计原则、23种设计模式

    万次阅读 多人点赞 2018-03-14 17:35:57
    了解设计模式的朋友们,想必都听说过“六大设计原则”吧。其实最经典的 23 种设计模式中或多或少地都在使用这些设计原则,也就是说,设计模式是站在设计原则的基础之上的。所以在学习设计模式之前,很有必要对这些...
  • 设计心理-产品设计的几个原则

    千次阅读 2014-08-26 09:35:18
    今天开始学习设计心理
  • 设计模式学习汇总

    万次阅读 2021-03-04 16:09:43
    设计模式学习汇总 设计模式——工厂模式 持续更新!!!!! 写作不易,如果您觉得写的不错,欢迎给博主点赞、收藏、评论、收藏来一波~让博主更有动力吧! 路漫漫其修远兮,吾必将上下求索~ ...
  • 如何正确学习和使用设计模式

    千次阅读 2017-12-01 19:39:42
    学习设计模式必须注意“活活用”,设计模式不是教条,而是思路,生搬硬套设计模式还不如不用。打下牢固的程序设计语言基础、夯实自己的编程思想、修炼开发内功才能游刃有余地使用设计模式。有的时候,或许你根本不...
  • 设计模式学习总结

    万次阅读 2007-10-23 15:33:00
    设计过程中,我发现了很多设计模式的用处,也确实应用了很多设计模式,这让我越来越感到设计模式的重要性,因此我写了这十余篇专门介绍设计模式的文章,作为我的学习笔记。《设计模式——可复用的面向对象软件的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 291,439
精华内容 116,575
关键字:

学设计