博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象编程与 设计模式
阅读量:5348 次
发布时间:2019-06-15

本文共 825 字,大约阅读时间需要 2 分钟。

面向对象编程(OOP)中最重要的是面向对象设计(OOD)。单独设计一个类并不难,难的是设计很多类并使用这些类及它们的实例构成复杂的应用程序来满足业务需求。

当使用面向对象的思想对需求进行分析(OOA面向对象分析)逐步构成设计成果时,如何确定类的范围,如何解决类与类,包括他们的实例之间的各种关系必须需要一些

原则作为指导才能较好的完成设计。

基本的面向对象设计原则:

1.单一职责(封装的范围和粒度)

一个类、方法应该只负责一项功能

2.替换原则(正确使用继承和多态)

将父类看成接口,子类完全可以替换父类

3.依赖倒置原则(解除依赖)

面向抽象(接口/依赖注入)编程,而不是面向实现编程

4.接口隔离原则(抽象的粒度)

接口的范围和粒度

5.迪米特原则(尽可能减少耦合)

一个对象应该尽可能少的了解其他对象

6.开闭原则(保持可扩展性)

对扩展开放,对修改关闭

 设计模式

设计模式是一些常用的设计结构,是从大量的面向对象设计中识别并总结出来的。设计模式可以看成是特定设计场景下的经典设计方案。是一些被命名、分类、说明了使用场景的固定设计公式。由GOF<4人邦,即提出设计模式的4个人>最先总结出23种模式并出书论述而流行起来。学习设计模式可以丰富我们的设计思路,提升我们对设计的理解,可以使我们在设计上快速成长和成熟起来,也能在一定程度上提升设计的质量和速度。但不同的编程语言有不同的特点,也有不同的框架支持,因此对设计模式不可僵化理解和应用,而应该根据情况灵活变通取舍;也不可过度应用,为了应用设计模式而设计。

GOF提出的设计模式可分为3大类:

创建型模式:用于创建实例,如单例模式、工厂模式等

结构型模式:用于解决实例间的关系,如适配器模式、外观模式、代理模式等

行为型模式:用于实现某些功能:迭代器模式、观察者模式、模版方法模式等

转载于:https://www.cnblogs.com/liubingboke/p/8829626.html

你可能感兴趣的文章
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>