Clean Code: Entwurfsmuster und objektorientiertes Design

所在平台: Udemy

课程主页: https://www.udemy.com/course/clean-code-entwurfsmuster-und-objektorientiertes-design/

课程评论:没有评论

第一个写评论        关注课程

课程简介

Coursera 课程 **“Clean Code: Entwurfsmuster und objektorientiertes Design”** 旨在帮助学习者提升软件开发技能,专注于编写清晰、高质量的代码。课程由 Thorsten Diekhof 主讲,他分享了自己从基础编程到深入理解面向对象设计和设计模式的历程,强调了结构和模式在软件开发中的重要性。 **课程核心理念:** * **超越基础编程:** 软件开发不仅仅是编写代码,更是关于如何组织代码、类之间的关系以及整体的程序结构。 * **设计模式即思想:** 设计模式并非新的 API 或框架,而是一种解决常见问题的思想和方法,能够显著提升代码的可读性、可维护性和质量。 * **“为什么”的重要性:** 课程强调理解设计模式和原则背后的“为什么”,帮助学习者真正掌握其应用场景和价值。 **课程内容概览:** 课程涵盖了面向对象编程的基础概念以及许多重要的设计模式和软件开发原则,具体包括: * **面向对象基础:** 核心概念如多态性、内聚性(Kohäsion)和耦合性(Kopplung)。 * **重要设计模式:** 策略模式(Strategy)、命令模式(Command)、状态模式(State)、观察者模式(Observer)、模板方法模式(Template Method)、装饰器模式(Decorator)、外观模式(Facade)、适配器模式(Adapter)、组合模式(Composite)、工厂方法模式(Factory Method)。 * **重要反模式:** 单例模式(Singleton)及其潜在的问题。 * **软件开发原则:** “你不会需要它”(You Ain't Gonna Need It - YAGNI)、“封装变化”(Encapsulate What Varies)、“组合优于继承”(Composition Over Inheritance)、“面向接口编程”(Program to an Interface)、“好莱坞原则”(The Hollywood Principle)、“松散耦合”(Loose Coupling)、“不要和陌生人说话”(Tell, Don't Ask)、“单一职责原则”(Single Responsibility Principle - SRP)、“使用抽象”(Use Abstractions)。 **目标受众:** 本课程适合所有对现代软件开发感兴趣的学习者,无论您是初学者还是有经验的程序员。课程中使用 Java 作为示例语言,但其核心思想和原则对于掌握任何面向对象语言的学习者都具有极高的价值。 **最终目标:** 通过学习本课程,学习者将能够编写出更具可读性、更高质量、更易于维护的代码,从而成为更优秀的软件开发者。

课程评论(0条)

课程详情

Prolog: Für mich war die Entdeckung von Entwurfsmuster und objektorientiertem Design ein großes Aha-Erlebnis. Es gibt da mehr als das reine Programmieren. Ich habe vor dieser Entdeckung drei Stadien durchlaufen. 1. lernte ich eine objektorientierte Programmiersprache und begriff Bedingungen, Schleifen und Sequenzen. 2. erkannte ich ein Grundkonzept der Objektorientierung: die Vererbung. 3. entdeckte ich die Mächtigkeit von Bibliotheken und APIs. Ja, ich löste plötzlich All die Dinge, die ich vorher aufwendig programmierte, mit Hilfe externer Bibliotheken. Meine damaligen Programme waren mehr ein Zusammenstecken von Komponenten, denn ein Programmieren. Jetzt kamen also die Entwurfsmuster und das objektorientierte Design. Plötzlich waren nicht mehr nur der Inhalt von Klassen wichtig - sondern auch deren Anordnung und Beziehung zueinander. Die Struktur des Programms war für mich eine neue Dimension. Entwurfsmuster sind keine neuen APIs, es ist keine neue Bibliothek oder Framework. Sie sind nicht mal in Java geschrieben! Es ist einfach nur eine Idee. Diese Erkenntnis, vor ungefähr 18 Jahren, änderte Alles. Ich nutze seit dem viel weniger externe Bibliotheken. Mein Code ist viel aufgeräumter. Vererbung ist enorm selten geworden. Ja, ich konzentriere mich wieder auf Bedingungen, Schleifen und Sequenzen - und dieses geheimnisvolle Unsichtbare mit dem Namen Softwaredesign. Clean Code: Entwurfsmuster und objektorientiertes Design ist ein Kurs für jeden, der sich für moderne Softwareentwicklung interessiert. Hierbei ist es egal, ob man Anfänger ist oder schon länger Programmiert. Die Beispiele und Aufgaben sind in JAVA geschrieben - jedoch ist der Kurs für jeden verständlich, der eine objektorientierte Sprache beherrscht. Neben den wichtigsten Entwurfsmustern werden auch grundlegende Prinzipien moderner Softwareentwicklung vermittelt. Auch ist es mir sehr wichtig, das Verständnis für das "Wieso" zu lehren. Wieso braucht man Entwurfsmuster? Meine Motivation für diesen Kurs ist es, Entwurfsmuster und Prinzipien moderner Softwareentwicklung so zu zeigen, dass du ein besserer Softwareentwickler wirst und dein Code lesbarer, qualitativ hochwertiger und einfach besser wird. Thorsten Diekhof Themen die behandelt werden: Grundlagen der ObjektorientierungPolymorphismusKohäsionKopplungEntwurfsmuster / Design PatternMuster: Strategie / strategy Muster: Kommando / command Muster: Zustand / state Muster: Beobachter / observer Muster: Schablonenmethode / template methodMuster: Dekorierer / decorator Muster: Fassade / facade Muster: Adapter / adapter Muster: Kompositum / composite Muster: Fabrikmethode / factory method(Anti-)Muster: SingeltonPrinzip: Du wirst es nicht brauchen?Prinzip: Kapseln was variiertPrinzip: Komposition über VererbungPrinzip: Programmiere auf SchnittstellenPrinzip: Das Hollywood-PrinzipPrinzip: Offen aber geschlossenPrinzip: Lockere Bindung bittePrinzip: Sprich nicht mit FremdenPrinzip: Nur eine Aufgabe, nur einen GrundPrinzip: Verwende Abstraktionen

课程标签

0人关注该课程

主题相关的课程