Warsztat Java #10 - Design Principles i Design Patterns

所在平台: Udemy

课程主页: https://www.udemy.com/course/kurs-java-design-principles-i-design-patterns/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:Java 研讨会 #10 - 设计原则与设计模式 课程概述: 本课程旨在教授 Java 编程中的设计原则和设计模式,以帮助开发者编写更清晰、更易于维护和理解的代码。研讨会将理论与实践相结合,通过编写代码演示如何应用这些原则和模式来解决常见的编程问题,避免重复造轮子。 课程主题: 1. **设计原则:** * **DRY (Don't Repeat Yourself) - 不要重复自己:** 强调代码的重用性和避免重复。 * **KISS (Keep It Simple, Stupid) - 保持简单,愚蠢:** 提倡编写简单易懂的代码。 * **YAGNI (You Aren't Gonna Need It) - 你不会需要它:** 只实现当前需要的功能。 * **SOLID 原则:** * **SRP (Single Responsibility Principle) - 单一职责原则:** 每个类应只有一个职责。 * **OCP (Open/Closed Principle) - 开闭原则:** 类应对扩展开放,对修改关闭。 * **LSP (Liskov Substitution Principle) - 里氏替换原则:** 子类对象应可被其父类对象替换。 * **ISP (Interface Segregation Principle) - 接口隔离原则:** 客户端不应强迫依赖于它们不使用的接口。 * **DIP (Dependency Inversion Principle) - 依赖倒置原则:** 高层模块不应依赖低层模块,两者都應依賴於抽象。 2. **设计模式:** * **创建型模式:** 单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 * **结构型模式:** 适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、代理模式。 * **行为型模式:** 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。 课程形式: 研讨会将以讲座和实际代码示例的形式进行。重点关注理论,并辅以代码演示,展示原则和模式的实际应用。提供笔记资料供学习。 Java 版本要求: 最低要求 Java 8,但版本重要性不大,课程主要关注代码编写原则和方法。 课程目标: 学员将全面掌握编写清晰代码的原则以及在 Java 中应用设计模式的实用技能。本课程适合希望理解和有效应用这些原则和模式来改进其软件项目的开发者。无论经验水平如何,课程都将提供必要的工具和知识,以更好地设计、实现和维护应用程序。

课程评论(0条)

课程详情

Zapraszamy na warsztat poświęcony zasadom pisania dobrego i czystego kodu oraz wzorcom projektowym w Javie! Kurs ten pomoże Ci zrozumieć, jak stosować sprawdzone zasady programowania oraz wzorce projektowe, aby rozwiązywać typowe problemy w sposób zrozumiały dla innych programistów i unikać ponownego wymyślania koła. W trakcie warsztatu skupimy się na teorii, ale również będziemy pisać kod, aby pokazać praktyczne zastosowanie omawianych technik.Tematyka warsztatu:Design Principles (Zasady projektowania):DRY (Don't Repeat Yourself): Unikanie powtarzania kodu i promowanie reużywalności.KISS (Keep It Simple, Stupid): Utrzymywanie kodu prostym i zrozumiałym.YAGNI (You Aren't Gonna Need It): Implementowanie tylko tego, co jest obecnie potrzebne.SOLID: Pięć zasad projektowania obiektowego:Single Responsibility Principle (SRP): Każda klasa powinna mieć tylko jedną odpowiedzialność.Open/Closed Principle (OCP): Klasy powinny być otwarte na rozszerzenie, ale zamknięte na modyfikację.Liskov Substitution Principle (LSP): Obiekty w programie powinny być zastępowalne ich podtypami.Interface Segregation Principle (ISP): Klienci nie powinni być zmuszani do zależności od interfejsów, których nie używają.Dependency Inversion Principle (DIP): Moduły wyższego poziomu nie powinny zależeć od modułów niższego poziomu. Oba powinny zależeć od abstrakcji.Design Patterns (Wzorce projektowe):Creational Patterns (Wzorce kreacyjne): Singleton, Factory Method, Abstract Factory, Builder, Prototype.Structural Patterns (Wzorce strukturalne): Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.Behavioral Patterns (Wzorce behawioralne): Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor.Wzorce projektowe na które się natknąć w swojej pracy:Singleton: Zapewnia, że klasa ma tylko jedną instancję i zapewnia globalny punkt dostępu do tej instancji.Factory Method: Definiuje interfejs do tworzenia obiektów, ale pozwala podklasom decydować, którą klasę instancjonować.Abstract Factory: Umożliwia tworzenie rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas.Builder: Oddziela konstrukcję skomplikowanego obiektu od jego reprezentacji.Prototype: Pozwala na tworzenie nowych obiektów poprzez klonowanie istniejących instancji.Adapter: Umożliwia współpracę klas o niekompatybilnych interfejsach.Bridge: Oddziela abstrakcję od jej implementacji, dzięki czemu obie mogą zmieniać się niezależnie.Composite: Komponuje obiekty w struktury drzewiaste, umożliwiając traktowanie pojedynczych obiektów i ich kompozycji jednolicie.Decorator: Dynamicznie dodaje nowe funkcje do obiektów bez zmiany ich klasy.Facade: Dostarcza uproszczony interfejs do złożonego systemu.Flyweight: Minimalizuje zużycie pamięci poprzez współdzielenie wspólnych stanów między wieloma obiektami.Proxy: Zastępuje inny obiekt, aby kontrolować dostęp do niego.Chain of Responsibility: Przekazuje żądanie przez łańcuch obiektów, aż któryś z nich obsłuży żądanie.Command: Reprezentuje działanie jako obiekt, umożliwiając opóźnienie jego wykonania lub kolejkowanie.Interpreter: Definiuje gramatykę i interpreter dla prostego języka.Iterator: Umożliwia sekwencyjny dostęp do elementów kolekcji bez ujawniania jej wewnętrznej struktury.Mediator: Definiuje obiekt, który enkapsuluje sposób, w jaki obiekty współpracują.Memento: Przechowuje stan obiektu, aby można go było przywrócić później.Observer: Definiuje zależność jeden-do-wielu między obiektami, tak aby zmiana w jednym obiekcie była automatycznie przekazywana do innych.State: Pozwala obiektowi zmieniać swoje zachowanie, gdy zmienia się jego stan wewnętrzny.Strategy: Definiuje rodzinę algorytmów, które mogą być używane zamiennie.Template Method: Definiuje szkieleton algorytmu, pozwalając podklasom definiować pewne kroki.Visitor: Dodaje nowe operacje do klas bez zmiany tych klas.Format kursu: Warsztat będzie miał formę wykładów z praktycznymi przykładami kodu. Choć skupimy się na teorii, będziemy również pisać kod, aby pokazać, jak zastosować zasady i wzorce projektowe w praktyce. Materiały będą dostępne w postaci notatek, które możesz przyswajać według własnych preferencji.Wersja Javy: Minimalna wymagana wersja Javy na Twoim komputerze to 8, ale wersja nie ma większego znaczenia, ponieważ będziemy rozmawiać głównie o zasadach i metodach pisania kodu.Warsztat ten jest 10. warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.Czego nauczy się uczestnik?Uczestnik warsztatu „Design Principles i Design Patterns" zdobędzie kompleksową wiedzę oraz praktyczne umiejętności związane z zasadami pisania czystego kodu i stosowaniem wzorców projektowych w Javie. Warsztat „Design Principles i Design Patterns" jest idealny dla osób, które chcą zrozumieć i efektywnie stosować zasady pisania dobrego i czystego kodu oraz wzorce projektowe w swoich projektach programistycznych. Niezależnie od Twojego poziomu doświadczenia, kurs ten dostarczy Ci niezbędnych narzędzi i wiedzy, abyś mógł lepiej projektować, implementować i utrzymywać swoje aplikacje.

课程标签

0人关注该课程

主题相关的课程