设计模式与面向对象

设计模式与面向对象

本文对设计模式面向对象,博主的个人理解和记录,仅供技术学习分享使用. 本文面向的学习对象:即使你是刚入门的学习者(任何一门编程语言,C#、smalltalk、EIFFEL、python、Java、OC等),或者已经拥有几年开发经验的开发人员,想对自己技术的进一步提升(例子:想提升手头微薄的工资单么? 那就不断的为自己技术增值,量变引起质变)

一 设计模式

什么是设计模式?

设计模式相比库,其等级更高,设计模式告诉我们如何组织类和对象, 以解决某种问题.
模式让我们可以设计开发出具有良好OO设计质量的系统软件(什么是OO,请看下文第二点).
模式是针对设计问题的通用解决方案.

库和框架是设计模式吗?

库和框架提供了我们某些特定的实现, 让我们的代码可以轻易地引用, 但是这并不算是设计模式。有些时候,
库和框架本身会用到设计模式, 因为一旦你了解了设计模式, 会更容易了解这些API是围绕着设计模式构造的。

设计关心的点?

设计者关心的是建立弹性的设计, 可以方便后期维护,可以应付需求不断改变.
三个特性简而言之:可复用,可扩充,可维护

二 面向对象(Object Oriented,OO)

初步理解设计模式之后,我们需要清楚的知道,面向对象有什么用,什么是面向对象,与面向过程有什么区别,即使你对这个概念一开始是模糊的,但经过时间与项目的锤炼,你会慢慢认知这个体系,这个OO概念.每个人思维都是不一致的,但"万物皆对象",就很好的诠释了. 面向对象如果你还一知半解,不能很好的理解,希望下文对你有帮助.

面向对象有什么用 (二营长,拉出我的意大利炮,就是这么用)

面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

什么是面向对象 (万物皆对象)

面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

与面向过程有什么区别

面向对象是把构成问题事务分解成各个对象,建立各个不同对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。而面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用即可。

三 面向对象基础

这里只做个人总结叙述,如有记不清之处,请读者查阅相关详细知识(博主看法你懂了就真的理解了哪些***的概念,如果看不懂下文,请拿起书本翻阅起来吧)

  • 继承(extends和implements)
  • 抽象(如BaseActivity)
  • 封装(保护类的代码和数据被外部类代码随机访问)
  • 多态(多重继承,而具有多态性A>B>C)

四 面向对象原则

面向对象(OO)的六大原则:单一职责原则,开闭原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特原则

个人理解为三点

  • 封装变化(封装行为属性)
  • 少继承,多组合(java单继承单一)
  • 接口编程,不实现编程(谁implements谁实现)

尾言

为自己技术增值,量变引起质变.对象亦来源于生活,模式亦来源于验证的OO经验,那么请学会使用轮子,再到感受制造轮子的乐趣,你会发现原来编程那么美妙.如有错误或不当之处,请读者留言,博主好吸取经验,互相交流学习

你可能感兴趣的:(设计模式,Java)