Design Patterns in Java
Design Patterns in Java, available at $89.99, has an average rating of 4.23, with 123 lectures, 22 quizzes, based on 8583 reviews, and has 55644 subscribers.
You will learn about Recognize and apply design patterns Refactor existing designs to use design patterns Reason about applicability and usability of design patterns This course is ideal for individuals who are Software engineers or Designers or Architects It is particularly useful for Software engineers or Designers or Architects.
Enroll now: Design Patterns in Java
Summary
Title: Design Patterns in Java
Price: $89.99
Average Rating: 4.23
Number of Lectures: 123
Number of Quizzes: 22
Number of Published Lectures: 123
Number of Published Quizzes: 22
Number of Curriculum Items: 145
Number of Published Curriculum Objects: 145
Original Price: $89.99
Quality Status: approved
Status: Live
What You Will Learn
- Recognize and apply design patterns
- Refactor existing designs to use design patterns
- Reason about applicability and usability of design patterns
Who Should Attend
- Software engineers
- Designers
- Architects
Target Audiences
- Software engineers
- Designers
- Architects
Course Overview
This course provides a comprehensive overview of Design Patterns in Java from a practical perspective. This course in particular covers patterns with the use of:
-
The latest versions of the Java programming language
-
Use of modern programming approaches: dependency injection, reactive programming and more
-
Use of modern developer tools such as IntelliJ IDEA
-
Discussions of pattern variations and alternative approaches
This course provides an overview of all the Gang of Four (GoF) design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.
What are Design Patterns?
Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm(who are commonly known as a Gang of Four, hence the GoF acronym).
The original book was written using C++ and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable: C#, Java, PHP and even programming languages that aren’t strictly object-oriented, such as JavaScript.
The appeal of design patterns is immortal: we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don’t realize they are there.
What Patterns Does This Course Cover?
This course covers all the GoF design patterns. In fact, here’s the full list of what is covered:
-
SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle
-
Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton
-
Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy
-
Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template Method and Visitor
Who Is the Course For?
This course is for Java developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way. For example, the use of recursive generics helps us build fluent interfaces even when inheritance is involved.
Presentation Style
This course is presented as a (very large) series of live demonstrations being done in IntelliJ IDEA and presented using the Kinetica rendering engine. Kinetica removes the visual clutter of the IDE, making you focus on code, which is rendered perfectly, whether you are watching the course on a big screen or a mobile phone.
Most demos are single-file, so you can download the file attached to the lesson and run it in IntelliJ, Eclipse or another IDE of your choice.
This course does not use UML class diagrams; all of demos are live coding. I use IntelliJ and various Maven packages where necessary.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Chapter 2: SOLID Design Principles
Lecture 1: Overview
Lecture 2: Single Responsibility Principle (SRP)
Lecture 3: Open-Closed Principle (OCP)
Lecture 4: Liskov Substitution Principle (LSP)
Lecture 5: Interface Segregation Principle (ISP)
Lecture 6: Dependency Inversion Principle (DIP)
Lecture 7: Summary
Chapter 3: Builder
Lecture 1: Gamma Categorization
Lecture 2: Overview
Lecture 3: Builders in Java
Lecture 4: Builder
Lecture 5: Fluent Builder
Lecture 6: Fluent Builder Inheritance with Recursive Generics
Lecture 7: Faceted Builder
Lecture 8: Summary
Chapter 4: Factories
Lecture 1: Overview
Lecture 2: Factory Method
Lecture 3: Factory
Lecture 4: Abstract Factory
Lecture 5: Summary
Chapter 5: Prototype
Lecture 1: Overview
Lecture 2: Don't Use Cloneable
Lecture 3: Copy Constructors
Lecture 4: Copy Through Serialization
Lecture 5: Summary
Chapter 6: Singleton
Lecture 1: Overview
Lecture 2: Basic Singleton
Lecture 3: Serialization Problems
Lecture 4: Static Block Singleton
Lecture 5: Laziness and Thread Safety
Lecture 6: Inner Static Singleton
Lecture 7: Enum Based Singleton
Lecture 8: Monostate
Lecture 9: Multiton
Lecture 10: Testability Issues
Lecture 11: Singleton in Dependency Injection
Lecture 12: Summary
Chapter 7: Adapter
Lecture 1: Overview
Lecture 2: Vector/Raster Demo
Lecture 3: Adapter Caching
Lecture 4: Summary
Chapter 8: Bridge
Lecture 1: Overview
Lecture 2: Bridge
Lecture 3: Summary
Chapter 9: Composite
Lecture 1: Overview
Lecture 2: Geometric Shapes
Lecture 3: Neural Networks
Lecture 4: Summary
Chapter 10: Decorator
Lecture 1: Overview
Lecture 2: String Decorator
Lecture 3: Dynamic Decorator Composition
Lecture 4: Static Decorator Composition
Lecture 5: Adapter-Decorator
Lecture 6: Summary
Chapter 11: Façade
Lecture 1: Overview
Lecture 2: Façade
Lecture 3: Summary
Chapter 12: Flyweight
Lecture 1: Overview
Lecture 2: Repeating User Names
Lecture 3: Text Formatting
Lecture 4: Summary
Chapter 13: Proxy
Lecture 1: Overview
Lecture 2: Protection Proxy
Lecture 3: Property Proxy
Lecture 4: Dynamic Proxy for Logging
Lecture 5: Proxy vs. Decorator
Lecture 6: Summary
Chapter 14: Chain of Responsibility
Lecture 1: Overview
Lecture 2: Method Chain
Lecture 3: Command Query Separation
Lecture 4: Broker Chain
Lecture 5: Summary
Chapter 15: Command
Lecture 1: Overview
Instructors
-
Dmitri Nesteruk
Software/Hardware Engineering • Quant Finance • Algotrading
Rating Distribution
- 1 stars: 176 votes
- 2 stars: 235 votes
- 3 stars: 994 votes
- 4 stars: 3069 votes
- 5 stars: 4109 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024