设计模式序章

原文 设计模式序章 

自大我进入程序员这行以来,总会听到设计模式 这几个字,当是的我并不是很懂,引用一句话:“虽然不懂你们在说什么,貌似很厉害的样子”,大牛才会用到的东西,高端而又神秘!

     到目前为止虽然多次听到大家说设计模式,但是目前的工作上 追求的都是 短平快,所以设计模式这方面接触的到不是特别的多,当然,简单的单例模式,抽象工厂,代理模式等 还是略微懂点的,O(∩_∩)O~。

     我觉得很有必要研究下设计模式,设计模式被这么多人念叨这么久 ,肯定是有他强大的一面的。决定写一个设计模式系列的文章,希望大家能够喜欢。虽然很多人已经写过了,但是以前我的导师说过一句话我很喜欢:“你会了不代表你真的会,要是你能让别人也会,你才是正的会了”!

    补充:在开发的过程中,也遇到很多滥用设计模式的例子,比如我在之前的功能,我的一个小组长就是这样做的,不知道从哪看的设计模式,把一个很简单的业务写的异常的复杂,我当时感觉就是,有门你不走,非得爬窗,觉得这样才有技术含量。我个人认为这是非常不可取的,同时学习设计模式建议有一定的编程基础的人看。

   设计模式的起源是面向对象程序设计思想,是面向对象设计的精髓——抽象。面向对象通过类和对象来实现抽象,实现时产生了面向对象的三个重要机制:封装、继承、多态。正是这三个机制衍生出了各种各样的设计模式

   在运用面向对象的思想进行软件设计时,需要遵循的原则一共有6个,们是:

   1.  单一职责原则(Single Responsibility Principle)
 
 2.  里氏替换原则(Liskov Substitution Principle)
 
 3.  依赖倒置原则(Dependence Inversion Principle)
 
 4.  接口隔离原则(Interface Segregation Principle)
   5.  迪米特法则(Law Of Demeter)
 
 6.  开闭原则(Open Close Principle)

 


在软件设计的过程中,只要我们尽量遵循以上六条设计原则,我们的软件必定会变的健壮,稳定,灵活!

 

时间: 2024-12-26 19:57:26

设计模式序章的相关文章

《I'm a Mac:雄狮训练手册》——序章 0.1 Mac

序章 0.1 Mac I'm a Mac:雄狮训练手册 苹果电脑共有3种类型:掌上型.膝上型和桌面型. 掌上型也叫平板电脑,膝上型也叫笔记本,桌面型也叫台式机. 0.1.1 笔记本 笔记本原来有3种:MacBook.MacBook Air和MacBook Pro,分别简称MB.MBA和MBP.Macbook是苹果的入门级电脑产品,因塑料全白外壳而得名小白,但小白的命运比较坎坷,曾经一度被拿掉,后来又上,又被拿掉,2012年苹果宣布不再生产白色塑料外壳的MacBook.因为和MBA和MBP相比,小

CCNA+NP学习笔记—序章

      本人就读于南京捷式泰网络科技有限公司学习CCIE,这几天准备将多年来的纸质版笔记全部写成电子版献给大家以留下自己学习的足迹.本章是基础篇章,内容较少,主要为之后的内容做铺垫.所有笔记的分类顺序为:序章→交换层→路由层→运营商,体现了从企业网到互联网的学习顺序. § 序章 一. 1. 网络作用:连接 传输 共享 平台 网络组件:网络设备 路由器 router :企业.用户(运营商/商用) 交换机 switch 无线接入点 AP 不提供跨网段连接 防火墙 Firewall 入侵监测系统

《梦幻聊斋》序章《金陵十三钗》5月13日上线

2011年五一黄金假期已悄然过去,在万众瞩目之下,中国十大游戏开发商麒麟游戏于今日宣布,首款Q版3D回合制网游<梦幻聊斋>蓄力两个月,2011年5月13日将重磅推出序章<金陵十三钗>,掀起回合制网游最大竞技风潮! <金陵十三钗>LOGO 曝光 <金陵十三钗>作为<梦幻聊斋>2011年最重要的版本更新,一方面,开发团队大胆创新,高端炫酷的竞技团战,全民共享的工资补贴.唯美绚丽的时装.宠物,以及装备进阶的养成玩法即将悉数亮相,为"梦聊迷&q

架构那点事系列一 - 设计模式前章

                                        ----能够正视失败和错误,而不回避和掩盖,正是职业架构师的宝贵素养!!!       首先,我们需要明白的是何为架构,以我看来,架构更多关注的是高层设计(所谓的high-level Design),它是一组有关如何确定软件系统的组织机构的重要决策.感兴趣的朋友可以查看这篇文章来深入理解一下架构的概念(http://baike.baidu.com/view/1147116.htm?fr=ala0_1).那么,如何达到

智能家居三重奏开启物联网序章 重点是以人为本

笔者对于智能家居的市场研究并不深,主要看的都是产品.在笔者 心中,究极的智能家居是钢铁侠的AI助手"贾维斯".贾维斯几乎能够控管史塔克的所有设备,电脑.仪器.汽车,当然还有他的盔甲.而史塔克需要做的就是耍耍帅向贾维斯下个口令,甚至还能和他聊天.钢铁侠的AI助手"贾维斯"好吧回归现实,世界上第一个拥有智能家居的人是比尔盖茨.他在30年前就开始使用智能家居管理他价值9700万美元的豪宅,当时这些技术都是有线的.随着技术的变化,这个技术也从有线走向无线.笔者 认为,无线时

序章:产品及用户

"Make something that people want." -by Paul Graham Paul Graham曾说过,产品和用户是早期创业团队进入Y Combinator孵化器唯一需要专注并且关心的事情,其它一切在孵化阶段都是次要的. 1.团队 在产品和用户之前,我们还要加一个"团队".每个入选进入孵化器的项目,在与孵化器沟通的筛选评审过程中,孵化器最看重的就是团队.具体来说,就是团队的平衡性和完整性.平衡性是指:PM.开发.设计.运营.推广.我们接受

23种设计模式大全(适合新手阅读)

原文:23种设计模式大全(适合新手阅读) 第Ⅰ部分 开篇     序章 第Ⅱ部分 创建型模式篇     第1章 单例模式(Single Pattern)     第2章 简单工厂模式(Sample Factory)     第3章 抽象工厂模式(Abstract Factory)     第4章 建造者模式(Builder Pattern)     第5章 原型模式(Protype Pattern) 第Ⅲ部分 结构型模式篇     第6章 适配器模式(Adapter Pattern)     第

php设计模式介绍之伪对象模式

面向对象的编程之所以丰富多彩,部分是由于对象间的相互联系与作用.一个单一的对象就能封装一 个复杂的子系统,使那些很复杂的操作能够通过一些方法的调用而简化.(无所不在的数据库连接就是 这样的一个对象实例.) 然而经常有这样的情况,对象间的交互性是如此复杂以至于我们不得 不面对类似"先有鸡还是先有蛋"这样伤脑筋的问题:如何创建并测试这样一个对象,他要 么依赖于很多已创建的对象,要么依赖于其他一些难以意识到的情况,如整个数据库的创建和测试. 问题 如何分隔并测试一个与其他对象和资源有关的代码

设计模式小结

简单工厂模式 http://blog.csdn.net/u010850027/article/details/21878639 将具有相同属性事物用一个抽象基类,里面具有抽象方法来作为父类,然后其他子类通过继承来实现这个基类,通过重写实现基类里面的抽象方法 创建一个工厂方法,通过父类变量来 策略模式 就是在简单工厂模式的基础上,将工厂方法改成策略对象,然后去调用该对象的重写基类的抽象方法 单一职责原则 一个类里面通过一个功能来划分一个方法,而不是通过变量来判断一个方法里面选择哪个功能 开放-封闭