zoukankan      html  css  js  c++  java
  • 【设计模式】初识

    从何而来?
    说到模式,我就有一种专业自豪感了。因为学的专业是工程管理,和建筑方面打交道比较多,以至于每次有人问我学的什么专业,我都会开玩笑的说,其实就是搬砖的。那么为什么说到模式,我就有一种专业自豪感呢?因为模式的思想就是基于建筑的思想而产生的。
    在建筑过程中,慢慢发现人们对于舒适住宅和城市环境存在一些共同的认知。在《建筑的永恒之道》中,正式给出了模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的成功的解决方案,无需再重复相同的工作。
    受这种思想的启发,有了设计模式的思想出现。

    有什么?
    六大设计原则,23种设计模式。
    (1) 六个原则:

    原则名称 简要说明
    单一职责 一个类或一个接口只负责一个功能
    依赖倒转 针对接口编程,不针对实现编程。 抽象不应依赖于细节,细节依赖于抽象
    开放封闭 对扩展开放,对修改关闭
    迪米特 类与类,对象与对象之间联系越少越好
    里氏转换 子类可以扩展父类的功能,但不能改变父类原有的功能
    合成/聚合 优先使用对象的合成或聚合而不是类继承

    (2)23种设计模式:

    设计模式类型 包括
    创建型模式 (5种) 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式
    结构型模式(7种) 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
    行为型模式 (11种) 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式、访问者模式

    如何更好的去使用?
    从设计模式的来历中,可以意识到,设计模式不仅仅是一种方法和技术,它更是一种思想和方法论。
    所以想要更好的使用设计模式,就要建立面向对象的思想,尽可能的面向接口编程,低耦合,高内聚,使得设计的程序尽可能的复用。
    当然了,如果只是想,只是停留在知道的层面,不去做到,不去用,是不可能更好的去使用好设计模式的。所以,在学习设计模式的时候,一定要多思考,多练习。
    Search for meaning
    总是说,要站在巨人的肩膀上,这样才能走得更远,看的更多。
    设计模式它集合了很多优秀的人的思想,经过了很多年的考验,它依然存在。所以设计模式就是一位巨人。尝试去理解,去使用设计模式,终有一天,你会成为别人眼中那个很“牛”的人。
    又想起了米老师常说的“来这里,学习的是思想,而不是技术”。经历越多,对这句话的理解越深刻。技术层面,有很多成熟的方法,给你一定时间你就能学会,这是一件毋庸置疑的事情。但是一个人的思想不是说改变就能改变,有的人思想,就算你给他两年的时间,也不一定能够有多大的改变。
    设计模式,就像前面说的,它不仅仅是一种方法和技术,更是一种思想。所以,好好体会和感受~
    最后,推荐一位大大大大大神的博客,关于设计模式的,我从中收获很多,分享出来,希望大家也能从中收获一些东西。
    附,大大大大大神的博客链接地址:史上最全设计模式导学目录(完整版)

    感谢您的阅读~~

  • 相关阅读:
    一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码
    一步一步学Silverlight 2系列(16):数据与通信之JSON
    一步一步学Silverlight 2系列(9):使用控件模板
    一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)
    一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果
    一步一步学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)
    一步一步学Silverlight 2系列(33):Silverlight 2应用Web Service两例
    一步一步学Silverlight 2系列(14):数据与通信之WCF
    一步一步学Silverlight 2系列(3):界面布局
    一步一步学Silverlight 2系列(6):键盘事件处理
  • 原文地址:https://www.cnblogs.com/zll-0405/p/12534172.html
Copyright © 2011-2022 走看看