软件设计第一课

quick review

配合案例讲述设计模式(一些基础的java和uml知识)

设计时考虑如何使模式变得更好(实践出真知)

auction auctionItem(封装和信息隐藏)

面向对象把细节隐藏在对象内部,把公共部分作为接口,抽象成一个类型,然后实例为不同的对象

第一个要想的,哪些细节是要被隐藏起来的,不同于子过程的隐藏,通过将属性和方法绑定在一起(更高级,将数据也进行了封装)

设计的最基础的想法:

  关注哪些信息是要暴露给外面,哪些信息需要隐藏

 对象可以保持自己的状态(与过程式编程的区别),把数据一同封装,代表了对象的状态

信息类型:

informative(提供一个信息让对象更新(通知型))

interrogative(要求获得信息)不会改变对象状态

imperative(改变状态)

类:

 对象是类不同的数值的拷贝

继承:

处理行为的变化需求

继承父类以应对变化(多态)

多态:

动态绑定非常必要(运行时绑定)

重写

重载

泛型:

构建类型

UML:

类图

类域(静态域)

构造型

继承

接口

关联(对象 link 类 association)(也可以是一种类)

  名字、角色、秩

特殊的关联关系:

组合:组成的部分(更强)email-message(header,paragragh...)类型是不同的 黑色菱形 组建的角色是重要的 组合体没有成分不可存在 在更大的设计模式中可以只关注组合体

聚合:临时性的聚集,可以属于多个聚合体,往往是相同类型的  白色菱形 聚合体缺少成分可以存在 可以做递归

 

热门相关:首席的独宠新娘   天启预报   大神你人设崩了   天启预报   薄先生,情不由己