设计模式,听着很是高大上吧,其实它确实高大上,能真正应用到软件程序中更是了不起。Design pattern是一套被反复使用、多数人知晓的、经过分类以及精心设计代码的总结,使用设计模式可以重复使用代码,让代码更容易让人理解,使软件可靠性更高。Design pattern运用的好,于己于他人于系统都是多赢的,下面让我们一起进入设计模式的世界吧!
概况
面向过程和面向对象
What?
首先编程语言分为面向对象和面向过程两类,面向过程是强调的是:一件事如何去做?面向对象强调的是:这件事由谁来做?例如人一口一口吃水果这件事,其中面向过程强调的是吃,还是一口一口的吃;而面向对象强调的是人,一口一口吃,说的是这个人的动作方法。
Why
在使用的过程中,面向过程的语言,越来越不方便,难以应对人们日益变化的需求,一旦某个用户的需求发生变化,增加或减少,就会大规模的改动,w维护起来难度非常大,往往会出现,牵一发而动全身的场面。但是面向对象相比之下就占据了优势,因为面向对象是把各个功能进行分离,某一个需求的变化不会造成大幅度的改变。面向过程是会对大部分产生影响,然而面向对象是通过接口与外界联系的,接口内外部没有联系。所以总的看来,面向对象更加灵活,更加方便使用。
How
既然面型对象的编程语言相对占据优势,那么我们应该如果做,更好耍实现面向对象的好处呢?必须了解面向对象的特点和方式,在使用的时候根据特点恰当的应用,取得不凡的效果。
面向对象的特点
【封装】
定义
封装就是隐藏实现,只公开代码的对外接口,而隐藏其具体实现。
举例
我们使用的手机、电脑键盘、屏幕、听筒、USB插孔等,这些都是对外接口,是将一系列部件封装起来的,我们根本不需要了解他们的内部构造,不必了解内部电路的工作原理,只需要知道手机外部如何使用,键盘如何敲击,屏幕如何看清,听筒能听到声音,USB插孔能充电插接头等这些简单的就可以了。
好处
当手机内部结构发生变化,键盘构造改变,屏幕内部小控件进行更新等等,这些内部的改变将是与我们这些用户没有关系的,只有我们仍然会使用上面的简单功能,达到自己的需求就可以了,根本不用重新学习这些改变。增加了内部控件代码的安全性。
【继承】
定义
是一种代码重用的表现,子类和父类的继承。
举例
父类是动物,子类是鸟和猫,动物类的属性有name,age;方法有eat ,drink。鸟和猫这两个子类中就不需要重写动物类中的代码了,直接<:动物>就实现了,只需要在子类中添加自己特有的属性和方法就好了。
好处
减少代码的冗余,使得开发方便简单。
【多态】
定义
顾名思义,多种状态;
举例
构造函数中的重载就是多态的一种形式,根据参数的数量不同和类型不同可以有多种不同的表示方法,来实现同一个功能。
好处
同一个动作,不会因为参数的多少或者类型的差异而无法实现。
面向对象的方式
【ORM】
【框架】
【设计模式】
6大原则
三大类型
One创建型
Two结构型
Three行为型
每种模式都需要慢慢体味,细细咀嚼,在以后的应用学习中会不断发现她们的精髓!