zoukankan      html  css  js  c++  java
  • 设计模式解析第二版 课后习题自我解答

    第一章:
    1.叙述功能分解中使用的基本方法。
    将问题分解成多个功能步骤。

    2.导致需求更变的三个原因是什么?
    用户对自己需求的看法,会因为与开发人员的讨论,和看到软件新的可能性,而发生变化。
    开发人员对用户问题领域的看法,会在开发使该领域自动化的软件的过程中,因为对它更加熟悉而发生变化。

    3.我提倡用责任而不是功能来思考。这意味着什么呢?请举一个例子。
    每个对象应该自己负责自己,而且应该清除地定义责任。比如学生上课应该知道从上一个教室到下一个教室。

    4.给出耦合和内聚的定义,什么是紧耦合?
    耦合:两个例程之间联系的紧密程度
    内聚:一个例程内部组成部分之间互相的紧密程度。
    两个例程之间联系非常紧密。

    5.对象接口的目的是什么?
    对象的很多方法都将标识为可被其他对象调用。

    6.给出类实例的定义。
    类的特例(总是一个对象)。类的特殊实例或者实体。每个对象都有自己的状态。
    因此同一个类型(类)可以有几个对象。

    7.类是一个对象行为的完整定义。这句话说明了对象的哪三个方面?

    8.抽象类的作用是什么?
    抽象类为我们提供了一种方法,能够给一组相关的类赋予一个名字。
    这使我们能够将这一组相关类看成一个概念。

    9.对象可能具有的三种主要可访问性是什么?
    public公开,protect保护,private私有

    10.给出封装的定义,并举出一个行为封装的例子。
    不仅仅是数据的隐藏,还是类的隐藏。

    11.给出多态的定义,并举出一个多态的例子。
    抽象类引用概念性地要求对象做什么时,将得到不同的行为。

    12.观察对象的三种视角。
    创建时、销毁时、派生

  • 相关阅读:
    【Android
    【数据结构】之队列(C语言描述)
    【数据结构】之顺序表和链表的比较
    TCP/IP协议、HTTP协议、SOCKET通讯详解
    Socket通信原理简介
    TCP/IP及内核参数优化调优
    谈应用环境下的TIME_WAIT和CLOSE_WAIT[转]
    HTTP 499 状态码 nginx下 499错误[转]
    [转]提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
    千万级的数据量查询方案
  • 原文地址:https://www.cnblogs.com/ch122633/p/13046775.html
Copyright © 2011-2022 走看看