Applicatiearchitectuur: schrijf als een ontwikkelaar, denk als een architect - cursus 80.000 wrijven. uit Slurm, training 3 maanden, Datum 22 januari 2024.
Gemengde Berichten / / November 29, 2023
Leer schone en beheersbare projecten schrijven, onderhoudbare systemen creëren en code organiseren.
Alle mogelijke fouten tijdens praktische taken maken wij gratis, zodat u ze later in uw werk kunt vermijden en miljoenen kunt besparen.
In het verleden werden veel applicaties gemaakt zonder ontwerp. Het leek handig: geen planningskosten, snelle prototyping.
Maar na verloop van tijd veranderden complexe toepassingen in een oncontroleerbare kruiser, die op volle snelheid richting de ijsberg snelde.
Het was toen dat architectuur een echt reddingsvest werd. Een applicatie met een goed ontworpen architectuur is gemakkelijker uit te breiden, te wijzigen, te testen, te debuggen en te begrijpen.
Applicatiearchitectuur is een kunst. De kunst van het ontwerpen en creëren van grootschalige systemen.
Je leert UML-diagrammen bouwen, code refactoren, architecturale grenzen trekken en systemen analyseren. Elke deelnemer voltooit een cursusproject: een informatiesysteem ontwerpen en volledig beschrijven zoals het gebeurt in echte productieactiviteiten.
Introductiesessie met sprekers
22 januari om 19:00 uur
Module één: Inleiding tot applicatiearchitectuur
22 januari
Laten we kennis maken met de benaderingen en paradigma's van applicatiearchitectuur
- Onderwerp I. Het probleem is waarom het belangrijk is om software correct te ontwerpen. Waarom is architectuur nodig, wat gebeurt er als mensen er niet over nadenken.
- Onderwerp II. Isolatie als middel om de complexiteit te beheersen. Spaghetticode. Modulariteit. Koppelen. Statische binding, dynamische binding. Componenten en hun interacties. Een onderdeel als zelfstandige entiteit. Ontwerp van losjes gekoppelde componenten. Testen van componenten. MVC als voorbeeld van een modulair patroon. Redenen voor veranderingen, isolatie op basis van de redenen voor veranderingen.
Tweede module: Unified Modeling Language
29 januari
Laten we de grafische weergavetaal onder de knie krijgen: u kunt deze taal lezen en ontwerpen. Laten we diagrammen leren gebruiken om architectuur en verbindingen te visualiseren.
- Onderwerp I. De belangrijkste componenten, wat ermee kan worden uitgedrukt, waarvoor ze nodig zijn.
- Onderwerp II. Klasse-, activiteit-, volgorde- en use case-diagrammen.
- Onderwerp III. Nadelen van UML. ModelC4. Hulpmiddelen
Derde module: OOP-principes
12 februari
We leren analyseren op een hoog niveau: je weet hoe je een probleem oplost en met welk paradigma.
- Onderwerp I. Herziening van programmeerparadigma's.
- Onderwerp II. OOP-principes. OOP als architectuurmiddel. Klassen en methoden. Objectbenadering als isolatiemethode. Interfaces en abstracte klassen. Erfelijkheidsproblemen.
- Onderwerp III. OOP-principes: (SOLID, DRY).
AMA-sessie met sprekers
Module Vier: Ontwerppatronen
26 februari
We leren systemen ontwerpen met behulp van patronen: je begrijpt de voordelen en beperkingen van patronen, je kunt de toegepaste patronen in systemen herkennen
- Onderwerp I. Wat zijn patronen en waarom zijn ze nodig? Hun typen.
- Onderwerp II. Generatieve en structurele patronen.
- Onderwerp III. Gedragspatronen.
- Onderwerp IV. Antipatronen.
Module vijf: Schone architectuur
11 maart
We leren ontwerpen volgens de criteria van pure architectuur, vinden afwijkingen van pure architectuur en stellen opties voor een systeemoplossing voor. We zullen leren hoe we de lay-out van de code kunnen toepassen, hoe we architecturale grenzen kunnen ontwerpen en trekken om verdere wijzigingen en onderhoud van de code te vereenvoudigen.
- Onderwerp I. Koppeling en cohesie.
- Onderwerp II. Architecturale grenzen.
- Onderwerp III. Schone architectuur.
Module zes: verschillende architecturale benaderingen
25 maart
We zullen leren een aanpak te kiezen voor het oplossen van toegewezen productieproblemen, de voordelen van de oplossingen van anderen/onze eigen uit te leggen. Wij zullen passende oplossingen kunnen vinden voor de opgedragen taken, rekening houdend met de huidige situatie
- Onderwerp I. Vereisten, vakgebied. Analyse. Functionele/niet-functionele eisen.
- Onderwerp II. Architecturale stijlen. Ui, multi-level, servicegericht, microservice, event-driven.
- Onderwerp III. Applicatie architectuur. MVC, MVP, MVVM, MV*.
AMA-sessie met sprekers
Zevende module: architectuur overal
1 april
We leren kennis over architectuur toepassen op verschillende schaalniveaus (niet alleen de indeling van klassen en modules, maar ook hele systemen)
- Onderwerp I. Soorten architecten en hun taken.
- Onderwerp II. Architecturen op verschillende niveaus (embedded, applicatie, gedistribueerd systeem, cloud-native service).
Achtste module: samenvatten
8 april
Laten we leren hoe u eenvoudig een hulpmiddel voor een specifieke taak kunt kiezen
- Onderwerp I. Overzicht van de belangrijkste tools en technologieën, hun plaats in de architectuur en selectieprincipes.
- Gegevensopslag: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Wachtrijen: AMQP, Konijn, Kafka, MQTT.
- Talen: Python, Java, GO, C++, Javascript/Typescript.
- Interface: Console, native applicaties, WEB: React, Vue, Angular, Jquery, hybride, chatbots.
- Infrastructuurtools: docker, k8s, terraform, ansible.