Flutter & Dart: SOLID Principles and Top Design Patterns

所在平台: Udemy

课程主页: https://www.udemy.com/course/flutter-dart-solid-principles-and-top-design-patterns/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:Flutter & Dart:SOLID原则与顶级设计模式 课程概述: 本课程旨在帮助学员成为更优秀的软件开发者,迈向“软件工程师”或“软件架构师”的目标。学习设计模式是实现这一目标的关键。课程将教授如何识别何时使用特定设计模式,以分而治之的方式构建复杂系统,从而降低复杂性并实现抽象。 我们将专注于最重要的GoF设计模式,在Flutter框架和Dart语言的背景下进行教学。课程从深入理解S.O.L.I.D设计原则开始,解析这些原则与设计模式之间的关系,并通过现实案例和具体代码示例进行讲解。 课程结束时,学员将通过编写约翰·康威的“生命游戏”模拟程序,以架构解决方案的形式呈现所学内容。在复杂的软件系统中,通常会面临三个主要问题:需求变更导致时间延误;多位开发者协同工作时的困难;以及代码冗余。这些问题导致维护困难和灵活性不足,从而形成设计不良的系统,难以适应变化。 为了解决这些问题,良好的设计和架构至关重要。正如建筑物建设需要高水平的蓝图,软件工程也有一套在多项目中重复的元素。例如,所有软件应用需要创建对象、在对象之间传递状态改变,能够遍历这些对象的集合。从根本上说,要成为一名优秀的开发者,就必须熟悉这些经过时间检验的元素,即“设计模式”。 本课程将教会学员如何识别和使用特定设计模式,以分而治之的方式构建系统,帮助在重大开发前进行项目的架构设计。这将缩短开发时间,降低维护成本。设计模式是经过验证的解决方案,能够应对普遍的软件工程问题。 我们将采用实践性的方法(具体示例),同时强调设计模式的概念,确保学员能够灵活调整和应用这些模式。此外,课程还将探讨如何将多种模式结合起来,形成更大的架构。一个精心设计的架构能够使整体效能超越各部分的简单相加,这是我们努力教授的目标。

课程评论(0条)

课程详情

We all want to become better software developers and be able to call ourselves "Software Engineers" or "Software Architects", but to do that you first have to master a number of design patterns.This course will put you on a track to that destination. We will teach you how to recognize when to use specific design patterns to build complex systems in a divide-and-conquer manner so that complexity is reduced and abstracted.But rather than learning all the design patterns out there, we have curated the most important, the top fundamental GoF Design Patterns for you. All of that in the context of the Flutter Framework using Dart.We start with full understanding of the S.O.L.I.D Design Principles and how they in turn relate to those design patterns. We eplain everything in the context of real-wprld problems as well as specific code examples.At the end of the course you will get to Architect a solution by coding John Conway's Game of Life simulation which will run on your mobile device.Complex software systems are plagued with three major issues:Timelines are stretched as requirements change.Multiple developers have a hard time coordinating their efforts.Code redundancy.This in turn creates issues with maintenance and overall flexibility for adding new features. In general this means poorly designed systems that are hard to maintain and are not adaptable.One answer to all the above problems is having a proper design and architecture. Think of a skyscraper being built. There is always a high-level blueprint. This blueprint is used to show everybody involved (from architects to supply chain to construction workers to machinery scheduling etc…) what is being worked on.Everybody understands and follows the same vision.A blueprint has a number of commonly understood elements which repeat themselves across many projects. For example all buildings need electrical wiring and plumbing, they might need elevators, and cooling systems, and underground parking lots, and of course stairs. They also usually are connected to the electrical grid and water supply as well as… roads.All these common elements follow certain standards that have been improved over many many years and across many many projects. They are well understood and can be used almost like recipes.In Software Engineering we also have a set of elements that repeat themselves across many projects. For example all software applications need to create objects, they need to communicate state change across those objects, they need to be able traverse over collections of those objects. In other words, if you want to be a better developer then you need to become proficient in those elements that have been time-tested. In the Software Engineering world these elements are known as "Design Patterns"This course will teach students how to recognize when to use specific design patterns to build complex systems in a divide-and-conquer manner so that complexity is reduced and abstracted.This will help you to design projects in an Architectural manner before any major development happens and can be used to shorten development time and reduce maintenance costs.Design patterns are important because they are time-tested recipes or solutions to well-known software engineering problems. When creating software applications certain problems recur in a pretty predictable fashion so rather than ‘reinvent' the wheel we will have an assortment of, if you will, wheels to choose from.We will teach you this in a slightly different manner than you probably have been taught before. We will take a practical approach (i.e. specific examples) but the power of Design Patterns comes from their ‘concept' and we will teach you the concept of those design patterns so that you are fully able to change them and modify them to your needs. In addition we will look at how to combine all those patterns into something greater: an architecture.A well designed Architecture is this magical thing where the whole is greater than the sum of its parts.This is what we will strive to teach you.

课程标签

0人关注该课程

主题相关的课程