设计模式总结
2015-12-23 21:25
267 查看
设计模式,听着很是高大上吧,其实它确实高大上,能真正应用到软件程序中更是了不起。Design pattern是一套被反复使用、多数人知晓的、经过分类以及精心设计代码的总结,使用设计模式可以重复使用代码,让代码更容易让人理解,使软件可靠性更高。Design pattern运用的好,于己于他人于系统都是多赢的,下面让我们一起进入设计模式的世界吧!
![](http://img.blog.csdn.net/20151223212725635?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151224112927037?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151224120024577?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151224130644979?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151224134056849?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
每种模式都需要慢慢体味,细细咀嚼,在以后的应用学习中会不断发现她们的精髓!
概况
面向过程和面向对象
What?
首先编程语言分为面向对象和面向过程两类,面向过程是强调的是:一件事如何去做?面向对象强调的是:这件事由谁来做?例如人一口一口吃水果这件事,其中面向过程强调的是吃,还是一口一口的吃;而面向对象强调的是人,一口一口吃,说的是这个人的动作方法。Why
在使用的过程中,面向过程的语言,越来越不方便,难以应对人们日益变化的需求,一旦某个用户的需求发生变化,增加或减少,就会大规模的改动,w维护起来难度非常大,往往会出现,牵一发而动全身的场面。但是面向对象相比之下就占据了优势,因为面向对象是把各个功能进行分离,某一个需求的变化不会造成大幅度的改变。面向过程是会对大部分产生影响,然而面向对象是通过接口与外界联系的,接口内外部没有联系。所以总的看来,面向对象更加灵活,更加方便使用。How
既然面型对象的编程语言相对占据优势,那么我们应该如果做,更好耍实现面向对象的好处呢?必须了解面向对象的特点和方式,在使用的时候根据特点恰当的应用,取得不凡的效果。面向对象的特点
【封装】
定义
封装就是隐藏实现,只公开代码的对外接口,而隐藏其具体实现。举例
我们使用的手机、电脑键盘、屏幕、听筒、USB插孔等,这些都是对外接口,是将一系列部件封装起来的,我们根本不需要了解他们的内部构造,不必了解内部电路的工作原理,只需要知道手机外部如何使用,键盘如何敲击,屏幕如何看清,听筒能听到声音,USB插孔能充电插接头等这些简单的就可以了。好处
当手机内部结构发生变化,键盘构造改变,屏幕内部小控件进行更新等等,这些内部的改变将是与我们这些用户没有关系的,只有我们仍然会使用上面的简单功能,达到自己的需求就可以了,根本不用重新学习这些改变。增加了内部控件代码的安全性。【继承】
定义
是一种代码重用的表现,子类和父类的继承。举例
父类是动物,子类是鸟和猫,动物类的属性有name,age;方法有eat ,drink。鸟和猫这两个子类中就不需要重写动物类中的代码了,直接<:动物>就实现了,只需要在子类中添加自己特有的属性和方法就好了。好处
减少代码的冗余,使得开发方便简单。【多态】
定义
顾名思义,多种状态;举例
构造函数中的重载就是多态的一种形式,根据参数的数量不同和类型不同可以有多种不同的表示方法,来实现同一个功能。好处
同一个动作,不会因为参数的多少或者类型的差异而无法实现。面向对象的方式
【ORM】
对象关系映射,实现不同类型系统的数据之间的转换。【框架】
框架是构成一类特定软件可复用设计的一组相互协作的类,定义了整体结构、类和对象的分割,各部件的主要责任、类和对象的协作关系,控件流程等。是抽象类和具体类的混合。【设计模式】
6大原则
三大类型
One创建型
Two结构型
Three行为型
每种模式都需要慢慢体味,细细咀嚼,在以后的应用学习中会不断发现她们的精髓!
相关文章推荐
- 走进小作坊(九)----省时省力的二八法则
- Ben Horowitz:执行程序有多糟糕,公司倒闭就有多快
- [按钮点击事件的几种方法]
- 严蔚敏数据结构单链表的所有基本操作
- (转)protein 数据库
- 统计题3
- UML学习(类图和序列图等)
- 将要改变IT世界的的docker技术是什么?
- Java——Java 中新增的 foreach 的用法
- JVM(三)
- Memcache知识点梳理
- git总结(6)里程碑,分支,远程版本库
- leetcode刷题日记——Merge Sorted Array
- Android.mk中的经常使用语法
- 用copy修饰一个可变字符串时,编译器到底做了什么
- linux下的usb抓包方法【转】
- 【留坑】uva12299
- hibernate(七)组件映射与多对一映射
- 答辩完成之后的感受
- 实战c++中的vector系列--对vector<自定义类>使用std::find 和 std::find_if 算法