课程主页: https://www.coursera.org/learn/object-oriented-design
在Coursera上,名为《面向对象设计》的课程是针对Java初学者的一次深入学习机会。这个课程将帮助学员提升他们的编程技能,专注于面向对象的分析和设计。通过学习该课程,你将会发现如何创建模块化、灵活且可重用的软件,同时还能够将这些设计转化为一种被称为统一建模语言(UML)的可视化符号。
课程的内容分为几个模块,每个模块都有其独特的重点:
- 面向对象分析与设计:在编码之前,良好的软件设计显得尤为重要。校园初始软件需求后,设计实践主要分为概念设计和技术设计。在这一模块中,学员将意识到设计和面向对象思维的重要性,并学习如何使用CRC卡片等技术进行软件设计。
- 面向对象建模:最佳软件设计实践随着编程语言的发展而演变。如今所有开发者都应熟悉抽象、封装、分解和泛化等基本原则。在这个模块中,你将学习这些原则如何在Java中表达,以及如何使用UML进行可视化传达。
- 设计原则:额外的设计原则将帮助你创建灵活、可重用且易于维护的代码。在这一模块中,你将学习耦合与内聚、关注点的分离、信息隐藏和概念完整性等内容。还会教你避免继承中的常见陷阱,以及如何在UML中表达软件行为。
- 最终挑战:在前面的模块中,你已经接触了面向对象的分析与设计、面向对象建模以及设计原则。为了巩固对这些材料的理解,你还将从一个示例Android代码库创建UML类图,并利用对代码库的理解制作序列和状态图来建模其行为。在课程的最后模块中,鉴于新功能的描述和更新的UML类图,你将把更新的设计实施到Android代码库中。完成这个开发任务后,你将准备好参加期末考试。
总体而言,这个课程不仅教授了面向对象设计的核心原理,还提供了实践的机会,使学员能够在实际项目中应用所学知识。对于希望深入理解Java及面向对象设计的学习者来说,这是一门非常值得参加的课程。
课程主页: https://www.coursera.org/learn/object-oriented-design