Praktische Objekt-Orientierte Programmierung in Java

所在平台: Udemy

课程主页: https://www.udemy.com/course/objektorientierte-programmierung-in-java/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:实用Java面向对象编程 概述:面向对象编程(OOP)存在一个根本性的问题:它被广泛误解和错误应用。本课程通过一种更紧凑的替代视角来纠正这一误解,帮助学员深入理解面向对象编程。我们将教条主义替换为对面向对象编程的深刻理解,摒弃“对与错”、“黑与白”、“全或无”的思维方式,转而关注权衡与取舍。这些决策让面向对象的软件更加稳健、易懂、可维护和灵活。 本课程探讨以下问题:每个对象真的只能执行一项操作吗?继承真的是“坏事”吗?紧密耦合一定要重构吗?我们希望用更为清晰和理性的方式来替代当前主流的面向对象编程叙事。无论你是已经熟悉面向对象编程,还是在这一编程范式上较为生疏,如果你想真正理解并正确应用相关概念、原则和基本准则,而非盲目地基于教条构建代码,那么你来对地方了! 课程的核心关注点是面向对象编程的两个基石:对象及其协作。我们将讨论“好”对象的基本特性,清理单一责任原则的误区,并将“告知,非询问”原则与封装原则结合起来。接下来,我们将把稳固但“孤狼”式的对象转变为团队合作的参与者,探讨合作的结构和协作方式。我们会讨论耦合原则,分析不同形式的协作对耦合的影响,评估组合与继承各自的权衡。 课程最后,我们将讨论测试驱动开发(TDD)这一面向对象编程的重要工作方式。通过一个全程测试驱动的编码挑战,我们将学习TDD流程的不同阶段,接触高级主题,如特殊案例模式、内置假对象和模拟对象、不当泄露代码异味和脆弱基类问题。完成本课程后,你将成为更好、更务实的面向对象程序员,能够理解并实践面向对象编程的概念,甚至可能彻底颠覆你对面向对象编程的理解。我们的专业需要这种矫正,只有这样,面向对象编程才能真正发挥其应有的作用,实现其承诺。

课程评论(0条)

课程详情

Objekt-Orientierte Programmierung hat ein fundamentales Problem: sie wird großflächig falsch verstanden und schlecht angewendet. Mit diesem Kurs korrigieren wir das Verständnis objekt-orientierter Programmierung, indem wir sie aus einer alternativen, kompakteren Perspektive aus beleuchten. Wir ersetzen Dogmatismus mit einem tiefgreifenden Verständnis für die objekt-orientierten Programmierung. Wir ersetzen "Richtig oder Falsch?", "Schwarz oder Weiß?", "Alles oder Nichts?" mit Trade-Offs und Abwägungen. Denn diese zahlreichen Entscheidungen machen objekt-orientierte Software robust, verständlich, wartbar und flexibel. Darf jedes Objekt wirklich nur eine einzige Sache tun, und niemals mehr? Ist Vererbung "böse"? Ist enge Kopplung falsch und in jedem Fall zu refaktorisieren? Dieser Kurs möchte dieses aktuell dominante Narrativ im Umgang mit der objekt-orientierten Programmierung ersetzen: und zwar mit einem bewussteren, aufgeklärteren Ansatz. Egal, ob ihr bereits mit der objekt-orientierter Programmierung vertraut seid oder noch recht wenig professionelle Erfahrung mit diesem Programmierparadigma habt: wenn ihr die Konzepte, Prinzipien und Grundsätze dahinter wirklich verstehen und richtig anwenden wollt, anstatt euren Code auf blindem, unreflektiertem Dogmatismus aufzubauen, seid ihr in diesem Kurs richtig! Im Mittelpunkt unsere Betrachtungen stehen die beiden Grundpfeiler der objekt-orientierten Programmierung: Objekte und deren Kollaboration. Wir befassen uns mit den wichtigsten und zentralen Eigenschaften "guter" Objekte. Wir beleuchten verschiedene Arten der Klassifizierung, räumen mit dem Single-Responsibility-Prinzip auf und führen das "Tell, Don't Ask"-Prinzip mit dem so wichtigen Prinzip der Kapselung zusammen.Anschließend machen wir aus robusten, aber "Lone-Wolf"-Objekten Teamplayer: durch eine strukturierte Kooperation und Kollaboration. Wir befassen uns mit dem Prinzip der Kopplung und zeigen, welche Formen der Kollaboration welche Auswirkungen auf eben diese Kopplung haben. Genauer gesagt wägen wir die verschiedenen Trade-Offs ab, die sowohl mit der Komposition als auch mit der Vererbung einhergehen. Und abschließend greifen wir eine Arbeitsweise auf, ohne die die objekt-orientierte Programmierung nicht das wäre, was sie heute ist: die test-getriebene Entwicklung. Anhand einer durchgehenden Coding Challenge, die wir test-getrieben erarbeiten, lernen wir die unterschiedlichen Phasen des TDD-Flows kennen. Dabei begegnen wir fortgeschritteneren Themen, wie dem Special Case Pattern, Built-In Fake Objects und Mocks, dem Indecent Exposure Code Smell und dem Fragile Base Class Problem. Nach Abschluss dieses Kurses seid ihr bessere, pragmatischere objekt-orientierte Programmierer. Ihr versteht die Konzepte hinter der objekt-orientierten Programmierung und wisst sie praktisch anzuwenden und abzuwägen. Euer Bild der objekt-orientierten Programmierung könnte vielleicht sogar komplett auf den Kopf gestellt werden. Aber unsere Profession braucht diese Korrektur: denn nur so entfaltet sich die Wirkung der objekt-orientierten Programmierung und sie wird in die Lage versetzt, ihre Versprechen endlich einlösen zu können.

课程标签

0人关注该课程

主题相关的课程