对面向对象和设计模式的一点理解

       进入大学开始学习的语言是C语言,一种全面向过程的语言,于是面向过程的思想最先进入了脑子。这种面向过程的编程方式在脑子中定型。以为程序就是函数的组合。什么是面向对象编程根本就没听说过。

  

      后来在大三的时候学习C++,突然看到了类,接口这些概念,知道了面向对象。在学习C++的过程中,面向过程编程思想还在脑子你不断的显现,一种很不习惯的感觉。学习起来也有点吃力。什么虚拟方法,虚拟继承弄的头晕晕的。现在都没什么印象了,因为后来一直用java(java真正的面向对象,没有C++这样虚拟方法什么的怪东西)。

    

    后来大四就开始学习JAVA了,有了C++的基础学习java感觉是很自然和轻松的。于是有了对面向对象的一些理解了。

 

    毕业一年多了,自己有点理解记录一下,加深理解,以后有了深入的理解再回来看看现在的认识可能会有进步的感觉。。:-)。

 

 

    面向对象语言的三个特点:多态,封装,继承 。 写好OO程序必须认识,运用好这三个特点。

  

    好的软件的标准是:易于维护(bug少,代码清晰,修改方便),易于复用(模块之间要低耦合)等。。。

  

    前辈们在开发软件的过程中在经验中总结出开发好软件的方法——设计模式(我这里是指面向对象编程的设计模式,其实面向过程也有设计模式)。

 

   设计模式的核心思想他的思想原则是:1.对接口编程(利用面向对象语言的多态),2.封装变化(少用继承多用组合)

   

     四人帮总结的23个模式,都是这两个原则。比如策略模式,就是一个典型的封装行为的方式。装饰者模式,利用共同实现同一接口,包装者对被包装者引用包装替换更体现了这两个原则。

   

      通过对这两个原则的认识,我以为面向对象的编程和面向过程的编程还是在编程思想和目标是有本质的相同——封装变化,面向对象只是有了更加好的封装方式,可以利用接口来实现多态性,利用类来封装变化。而面向过程就是利用函数了。

 

      现在我发现,如果你完全记住了四人帮的23个模式,你在需要它的时候有时候还是能解决问题,前提是你要能发现你现在的设计可以用四人帮的模式来很好解决。即使你都能发现,但是绝大部分都还是不能直接套用这23个模式.只要理解OO编程,理解这两个原则的威力.那么可以without design pattern

 

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值