|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/solid-design-principles-with-python/
课程评论:没有评论
课程名称:通过SOLID设计原则在Python中编写清晰代码 课程概述:在1998年,我在一家开发流量分析软件的公司工作,当时我有约两年的专业软件开发经验,并热爱编程。然而,我发现组织代码是一件非常困难的事情。我想创建一个未来可维护的模块化系统。我的一位同事能够做到这一点,他的代码组织能力让我感到惊奇。后来我发现他的秘密:他使用了设计模式和原则。经过一段时间的收集,我意识到Robert C. Martin(Uncle Bob)提出的五个重要原则——SOLID原则,能够极大地改善我的代码结构。运用这些原则后,我的代码质量提升了十倍!这门课程将教你如何运用五个SOLID原则来结构化你的代码,从而保持代码质量,尽管业务需求不断变化。 目标受众: - 希望通过紧凑的代码示例了解SOLID设计原则如何改善代码的程序员。 - 想了解如何在Python中应用SOLID原则的Python程序员。 - 希望弄清SOLID原则与面向对象编程(OOP)之间关系的程序员。 挑战:对这门课程感兴趣的学生是富有创造力的程序员,但频繁的代码更改开始造成困扰并浪费时间,新需求带来了许多压力。不过,有解决方法!许多问题是常见的,其他开发者已经为你解决了这些问题。这些解决方案定义在模式和原则中。本课程将教你五个SOLID原则,为你提供经过验证的代码结构改进方法。 学习成果: - 识别可以通过应用SOLID原则进行改进的代码部分。 - 列举五个SOLID原则并描述其目的。 - 使用课程中的紧凑代码示例作为优化现有代码的蓝图。 课程内容: 1. 单一职责原则:每个事物应有一个变更的理由。 2. 开放-关闭原则:以最小的修改来调整代码的其他部分。 3. 里氏替换原则:子类不应以意外的方式更改父类的行为。 4. 接口隔离原则:没有客户端应被迫依赖于其不使用的方法。 5. 依赖反转原则:高层模块不应依赖于低层模块。 课程时长:1小时视频,无练习。 讲师介绍:本课程由Loek van den Ouweland教授,他是一位拥有25年专业经验的高级软件工程师,曾创建Windows版Wunderlist、Microsoft To-do和Windows版麻将,热爱教授软件工程。 学生评价: - “精彩的课程!现在我终于清楚SOLID原则是什么。” - “学习设计原则的最佳课程。” - “提供了每个原则及其解决问题的良好概述,并给出了使用示例。课程整体上提供了关于如何改进代码的良好思考。”
In 1998, I worked for a company that made traffic analysis software. I had about 2 years of professional software development experience and loved to program.But there was one thing I found very hard. And that was organizing code. How to create a system that is modular and maintainable in the future?I had a colleague who could exactly do that. And I thought he was a coding wizard! Later I found out his secret. He used patterns and principles.So one by one, I started to collect them. Some pattern here, some principle there. Much later, I found out that 5 important principles are bundled in the SOLID principles, discovered by Robert C. Martin (Uncle Bob).Once I recognized these principles in my own systems, I improved my code 10x! And so can you!In this course you learn to structure your code with the help of the five S.O.L.I.D. principles. These principles allow you to maintain the quality of your code, despite of ever-changing requirements from the business.Target audienceDevelopers who especially benefit from this course, are:Programmers who want to see compact code examples that show how SOLID design principles can improve their codePython programmers who want to know how to apply SOLID in PythonProgrammers who want to know the relationship between SOLID and OOPChallengesStudents that are interested in this course are creative programmers but changes in their code start to cause nightmares and steal expensive time. This way, new requirements are the source of a lot of stress.But there is a solution! Many problems are quite common and other developers have already solved them for you. These solutions are defined in patterns and principles. In this course you learn the 5 S.O.L.I.D. principles that provide you with tried and tested ways to structure your code better.What can you do after this course?Recognize which parts of you code can be improved by applying the SOLID principlesList the 5 SOLID principles and describe their purposesUse the compact code examples from this course as blueprints to optimize your existing codeTopicsSingle Responsibility Principle: Things should have only one reason to change.Open-Closed Principle: Modify your code with minimal changes to other parts of the code.Liskov Substitution Principle: Subclasses should not change the behavior of superclasses in unexpected ways.Interface Segregation Principle: No client should be forced to depend on methods it does not use.Dependency Inversion Principle: High level modules should not depend on low level modules.Duration1 hour video time. This course has no exercises.The teacherThis course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.Students of this course tell me:* * * * * "Wonderful course! Now it's finally crystal clear what S.O.L.I.D. principles are."* * * * * "Best course to learn about design principes."* * * * * "Provides a good overview of each principle, and the problems they solve, with examples on how to use them. The course overall provided good food for thought on how I can improve my code."