设计模式初篇

设计模式的认识

本文主要总结的自身对设计模式的学习的一些总结。
    设计模式主要是一些编码的技巧,使得整个项目的代码看起来更清晰,扩展性能方面更好。要说没有设计模式,其实具体的功能还是能实现的,只是具体的灵活的实现还是得靠自己慢慢摸索总结出自己的模式方法。
    在武侠招式上讲究无招胜有招,之所以能达到无招的地步其实还是得先建立在一定得招式基础上,然后忘却招式,领悟出一套自己的武功应对模式也就是无招。其实编码设计的技巧也是如此,先得从有设计模式开始,从灵活理解和使用设计模式开始,然后再慢慢从中领会自己的一套编码设计模式,最后拥有得属于自己的设计模式思想才是最重要的。
    一直以来我都非常佩服那些能同时掌握设计模式+算法的大神们,想着向他们靠近。算法体现为解决问题的思路和把思路用代码转换的能力。设计模式则让项目代码更具灵活性,扩展性。设计模式(自己的一套)+算法很重要,很重要,很重要!!!

为什么要有招

阅读第三方优秀源码更容易,快捷。

其实,当时我学设计模式,是因为看不懂大神们写的代码。当时,开发需求是这样的,Android开发中需要编写一个圆形图片的控件。我当时的思路是:
   定义一个类继承ImageView,复写父类的onDraw(Canvas paramCanvas)方法,通过创建一个圆Bitmap来绘制画布。
这个思路确实是能实现这个功能,但我也在网上查阅了别人写的优秀代码。他们的实现是这样的:
//先定义的一个抽象类
 abstract class MaskedImage extends ImageView{
    public abstract Bitmap createMask();  
     protected void onDraw(Canvas paramCanvas) {  
             .......
             Bitmap localBitmap1 = createMask(); 
             ....... 
     }
   }
 //然后再增加一个类来实现具体的功能
   CirCleImage extends MaskedImage {
              .........//实现创建圆形Bitmap
       }
   }
 当时,很不理解,为什么实现这个圆形控件功能要多写一个类CirCleImage ,直接在第一个类MaskedImage实现不就好了。他这样写的好处是什么尼???这深深的吸引我了,后来在学设计模式中找到了答案。

辅助形成自己的一套编程设计模式。(从模式来到模式去)

设计模式分为3大类——创建型(5种)、结构型(7种)、行为型(11种)。
设计模式种类确实繁多,这更需要我们在掌握到设计模式的时候,能领悟一套属于自己的设计模式,在实际开发中能灵活使用属于自己的设计模式。
终究还是得先从掌握现有的设计模式开始,再从中另外到属于自己的设计模式,即从模式来到模式去。
我的从模式来的方式:
**1.利用阅读第三方优秀源码来掌握和学习每大类型的设计模式,我阅读的是JDK。**
**2.每大类型中的的设计模式之间相互比较,从比较中,掌握各个模式的优势。**
设计模式的分类

创建型类别的设计模式
提供了创建什么(what),由谁来创建(who),以及何时(when)来创建
目的:在一个系统用来创建对象,将类的实例化进行抽象,适用于一个系统中要进行多个不同对象的创建。
共同的主要功能:
1.将系统中所用的具体类的信息进行封装起来。
2.可以隐藏类的实例是如何被创建和组织的,(可以理解为代理生成对象)。对外界只提供这个系统生成对象的统一接口,而不能清除知道其具体的实现。
结构型类别的设计模式
主要是对类的结构和类与类之间的关系进行的设计,采用类间或者接口与类间的关联组合或依赖来实现为对象添加新的功能
行为型类别的设计模式
主要是对对象的行为进行设计,主要解决对象间的联系问题也可以理解为解决对象与对象间的通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值