当前位置: 代码迷 >> 开发过程 >> 议论:面向对象设计的核心思想是什么
  详细解决方案

议论:面向对象设计的核心思想是什么

热度:4238   发布时间:2013-02-26 00:00:00.0
讨论:面向对象设计的核心思想是什么?
rt
------解决方案--------------------------------------------------------
针对接口编程

封装变化

------解决方案--------------------------------------------------------
用对象封装一个完整的逻辑实体,包含其中的数据结构和其上的操作。
------解决方案--------------------------------------------------------
发现需求
规划需求,将同一类需求抽象化。
------解决方案--------------------------------------------------------
封装、继承、多态
------解决方案--------------------------------------------------------
看到什么都先想着这是一个object,看到什么object都想着她可不可能是一个type,看到什么type都想着他可不可能是一个template,看到什么template都想着她可不可能pattern
------解决方案--------------------------------------------------------
我认为是抽象,而且是做合适的抽象化.

面向对象就是面向抽象.
------解决方案--------------------------------------------------------
抽象化+实例化
------解决方案--------------------------------------------------------
抽象化应该在分析的时候做好吧,到设计的时候抽象的成份应该少了一些。当然这只是一家之言
------解决方案--------------------------------------------------------
抽象:以特定的视角仅关注和系统有关的内容,为关键的内容建立模型。
封装:隐藏具体的实现,对外提供统一的接口,减少犯错的几率和使用的难度。提高系统的模块性以应付需求的变化。
多态: 只要符合接口规范,可以有不同针对性的实现及扩展。

------解决方案--------------------------------------------------------



核心思想: 简单 + 灵活
------解决方案--------------------------------------------------------
抽象:以特定的视角仅关注和系统有关的内容,为关键的内容建立模型。
封装:隐藏具体的实现,对外提供统一的接口,减少犯错的几率和使用的难度。提高系统的模块性以应付需求的变化。
多态: 只要符合接口规范,可以有不同针对性的实现及扩展。

同意islandhill(islandhill) 的关点
------解决方案--------------------------------------------------------
面向对象的设计的核心思想我想是这样:

1、发现、归纳、清晰定义对系统有意义的对象及对象关系

2、在1的基础上挖掘并清晰定义业务逻辑

3、以1、2为基础进行需求清晰、边界明了的设计工作



------解决方案--------------------------------------------------------
我改几个字:
=======================================
面向对象的设计的核心思想:

1、发现、归纳、清晰定义对系统有意义的对象及对象关系

2、在1的基础上挖掘并清晰定义业务逻辑

3、以1、2为基础进行需求清晰、边界明了、设计过程高度可控的设计工作,通过对象清晰的、高度可控的设计过程使得设计的成果具备高度可控的可维护性与可扩展性

------解决方案--------------------------------------------------------
构建智能化的模块
------解决方案--------------------------------------------------------
从现实世界的本质出发
更好地提高软件架构和代码的可复用性
------解决方案--------------------------------------------------------
楼上第一句话说的很好,第二句话就俗了,“提高软件架构和代码的可复用性”和面向对象关系不大吧。
面向对象设计的核心思想就是用符合现实的方法对现实建模。
------解决方案--------------------------------------------------------
我认为是更有效的问题分解
------解决方案--------------------------------------------------------
从冯诺依曼体系结构开始,(代码和数据在线性的地址上分布).奠定了结构化编程的基础,以至于会有了缓冲区溢出这些东西.这个时候的可执行程序,存储局部性和计算局部性都是很强的.
    谁着社会发展,对软件需求提出了更加高的要求,日益要求更有效的大规模提高软件生产力的软件方法学理论,面向对象就是在这个背景下诞生的,面向对象的核心思想就是围绕名词建模,和结构化,顺序话编程围绕动词建模不同,对象总是相对稳定的,能够在很大程度上重用的,而动作是易挥发的,不稳定的.依赖于对象的,从认识世界的本原来说面向对象的思想更加自然.

------解决方案--------------------------------------------------------
面向对象的核心:就是类的继承可以让类的代码以非常方便的方式的重使用。有时候,为设计合理de面向对象的编程中,都是围绕继承来进行设计的,这里面最为重要的就是方法的继承,于是有了.net中的许多关键字,如virtual,override,new,abstract。
对象的本质是什么:一般分为日常中的对象和计算机编程中的程序对象。这就不得不提到黑盒de 概念。日常中,我们只关心某个对象的功能是什么以及相应的接口方式,而不比关心内部的具体实现。程序中,就是把程序分解成很多独立的单元,每个单元完成一定的功能,这样,更加容易的模拟现实生活,更加适合团队开发,更加适合程序的设计。
另外还有一点,面向对象设计的时候不要把所有的都看成对象,因为这样的话,就会极其繁杂。
有时候就的抽象成类,如果无从下手的话,不妨从数据库的设计出发。