作为程序员,软件设计或系统设计是必须要掌握的技能,你可以快速学会Java或Python之类的编程语言,但使用它们去创建一个软件又是另外一回事了,可以说,软件设计是软件开发人员最基本的技能之一,但经常被忽略。 如果你想在网上找一门软件设计和架构的课程,你很难找到很多,更不用想要要求它的质量了。 为了帮助大家解决这个问题,我找出了一些网上质量还不错的软件/系统设计在线课程。 不过,单靠这些课程还是不够的,你还得自己在解决实际问题中进步,下面一起来看看这5门课程: 1、Grokking the System Design Interview 这是我在学习软件设计或系统设计时最喜欢的课程之一。 它实际上是为了准备系统设计面试而创建的,但你依然可以用它来学习基础的系统设计。 该课程详细介绍了大规模分布式系统设计问题的书籍,即使你以前使用过分布式系统,也可以从本课程中学到很多东西。 作者创建这门课程的初衷是为了向读者介绍一些软件设计解决方案(包括优缺点),从而帮助你能够了解需求,比较各种解决方案,并为手头的实际问题找到最佳的解决方案。 所以,即使你不准备参加面试,我也建议你通过该课程来提高你的系统设计技能。 课程地址: https://www.educative.io/courses/grokking-the-system-design-interview 2. Software Design and Architecture Specialization 这是另一门优秀的软件设计和体系结构课程。 它由阿尔伯塔大学提供,Kenny Wong讲授。 该课程包含5门在线课程,涵盖面向对象的软件设计、设计模式、软件架构体系和面向服务的体系架构(SOA)。 学习完该课程,还会获得一份证书,一旦你能够了解软件设计相关的模式和原则,就可以更容易和你的团队成员沟通你的想法,并且能够从设计角度批判性的看待软件或代码。 课程地址: https://www.coursera.org/specializations/software-design-architecture 3. Data Structures and Software Design 本课程是CS软件开发专业证书课程的一部分,通过这门课程你主要学习两个重要的技能,数据结构和软件设计。 你不仅可以学到如何将需求编程高质量的软件设计,还将学习如何编写易于阅读、理解和修改的高效代码,该课程为期4周,每周需要8-10小时的努力。 该课程还提供证书,不过需要付费。 课程地址: https://www.awin1.com/cread.php 4. Secure Software Design Specialization 安全性是现代软件设计的一个基本关注点,这门课程主要教你如何设计安全的软件,由科罗拉多学院提供,该课程分为四个部分,不仅向你展示安全软件设计的时间,还会向你介绍工具和线程安全,与Coursera的其他专业课程一样,所有四门课程都是免费的,但如果你需要结业证书,你需要支付一小笔费用。 结业证书可以添加到你的简历中。 课程地址: https://click.linksynergy.com/deeplink 5. Java Programming: Principles of Software Design 本课程是Java程序员学习软件设计原理的优秀课程。 你将学习如何使用多个类来解决Java的实际问题,你还将创建使用Java接口的可扩展编程解决方案,明白软件工程不仅仅是编写代码——它还包括逻辑思维和设计。 作为课程的一部分,你还将创建一个分析、分类地震数据,并开发一个预测文本生成器。 如果你是一名Java程序员,强烈推荐你这门课程。 课程地址: https://click.linksynergy.com/deeplink程序员书库(ID:CodingBook) 猿妹编译
编译:https://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
●编号533,输入编号直达本文
●输入shuku获取免费电子资源●输入m获取到文章目录