Тёмный
ArchiLab
ArchiLab
ArchiLab
Подписаться
Software Architecture Lab (ArchiLab) von Prof. Dr. Stefan Bente und seinem Team am Cologne Institute for Digital Ecosystems (CIDE) der TH Köln. Alles rund um Spezifikation, Implementierung und Anwendung von modernen Software-Architekturen!
Unit Testing 101
24:04
9 месяцев назад
Datenstrukturen in C#
24:02
2 года назад
Basistypen und Kontrollfluss in C#
13:12
2 года назад
Kafka + Spring + Kotlin 101
26:52
2 года назад
Kafka Essentials
8:31
2 года назад
HTTP Return Codes in REST APIs
14:23
3 года назад
Prinzipien von REST
21:25
3 года назад
HTTP - Grundlagen und Tools
15:17
3 года назад
Sechs Regeln für Aggregates
8:27
3 года назад
Was sind Aggregates?
12:26
3 года назад
Domain Primitives
27:19
3 года назад
Unit Testing (und ein bisschen TDD)
16:05
3 года назад
Clean Code Rules
31:41
3 года назад
Dependency Inversion Principle
18:27
3 года назад
Liskov Substitution Principle
13:09
3 года назад
Interface Segregation Principle
9:02
3 года назад
Open-Closed Principle
9:16
3 года назад
Single Responsibility Principle
15:39
3 года назад
SOLID Principles
11:27
3 года назад
Комментарии
@geigenunterricht8684
@geigenunterricht8684 12 дней назад
Super Video, danke! System und E2E test werden häufig synonym verwendet. Die Test Pyramide wäre auch erwähnenswert gewesen.
@geigenunterricht8684
@geigenunterricht8684 2 месяца назад
Tolle Erklärung, danke! Schön, dass es am Anfang eine Übersicht als Sequenzdiagramm gibt.
@MitruKaz
@MitruKaz 2 месяца назад
Super kompakt und verständlich erklärt! Danke für die tollen Videos
@tarekm1632
@tarekm1632 2 месяца назад
klasse
@MitruKaz
@MitruKaz 5 месяцев назад
Hammer Prof! Hammer Videos
@nathanaelzoe8159
@nathanaelzoe8159 5 месяцев назад
🫶🫶🫶
@annagohre450
@annagohre450 5 месяцев назад
Super erklärz, danke!
@tonisun4785
@tonisun4785 6 месяцев назад
❤🧡💛💚💙💜🤎🖤🤍💯
@Defzan
@Defzan 8 месяцев назад
Danke sehr wenn man keinen Mentor oder Ausbilder hat sind Menschen wie sie Gold wert :D
@hennero.3826
@hennero.3826 9 месяцев назад
Vielen Dank für dieses Video, besonders für diese Übersicht mit den 4 Stufen (lokales Verz., ..., Remote Repo)! 🙂
@lars4953
@lars4953 9 месяцев назад
Warum lassen sie beim Integrationstest das spring framework nicht weg? Ich dachte im DDD ist das framework nur ein Detail und wird ganz zuletzt angeschlossen. Bei mir läuft das nur im UI-Test.
@archilab
@archilab 9 месяцев назад
DDD sagt da eigentlich nichts zu - da geht es eher um einen sauberen fachlichen Schnitt. Spring Framework ist beim Testen einfach als Dependency Injection Container nötig, um sich die zustandslosen Services zu instanziieren. (Und für eine Reihe anderer Convenience-Aspekte auch ...). Möglicherweise kann man das (irgendwie) umgehen, aber dann würde man ja in den Tests einen anderen Weg gehen als im Produktivcode.
@lars4953
@lars4953 9 месяцев назад
@@archilab Ja, aber der saubere Schnitt ist doch zwischen fachlicher Logik und Technologie. Ja, auf DI und JPA muss man im DDD verzichten. Aber dies macht die Tests eh nur langsam und halt der erste Satz. Also ich gehe kein anderen Weg im Produktivcode. Es gibt nur dann zusätzlich ein *Bean-Service welcher von *Aggregate abgeleitet ist und eine H2DB für die Tests. Damit laufen die IT's unabhängig von spring und sind sie wesentlich schneller. "Mocken" (ich glaube für mich wäre ein anderer Begriff angebracht) muss man nur das Senden der Registrierungsmail und das Erzeugen von PW-Hash's (md5 nutzt ich im Test). ATM hab ich 900 Tests (meist IT's) die in 30s auf einem i5-8th Gen laufen. Wobei bei für jeden Test die DB geleert wird. So macht Entwicklung Spaß. Ich glaube ich hab noch nie so angenehm gearbeitet. Vorher haben die EE frameworks immer ein wenig genervt oder ärger gemacht.
@ncls9730
@ncls9730 9 месяцев назад
Schön an einem Sonntag Abend zu sehen, dass es wieder neue qualitativ hochwertige Videos gibt :)
@archilab
@archilab 9 месяцев назад
Danke für das nette Feedback :-). Ich plane für das kommende Jahr noch mal ein paar weitere Videos insbesondere zu Event-Driven Architecture.
@mexybeck
@mexybeck 11 месяцев назад
Super erklärt! Vielen Dank! Nur eine Stelle versteh ich nicht, nämlich die Begründung, warum POST keine "sichtbare Semantik" hat. Ich würde "sichtbare Semantik" so verstehen, dass die Bedeutung des Requests ersichtlich ist, und das ist sie doch bei einem POST, nämlich "Anlegen der benannten Ressource", oder nicht? Sie sagen da, dass man dafür in den Body reingucken müsste, aber inwiefern unterscheidet sich das von PUT/PATCH? Ich würde sagen der Unterschied zwischen POST und PUT/PATCH liegt in dem Kriterium "identifizierbare Ressource".
@archilab
@archilab 11 месяцев назад
Ja, da ist was dran.
@sadiyehrezaii5958
@sadiyehrezaii5958 Год назад
super hilfreich. vielen lieben dank
@BadCerberus
@BadCerberus Год назад
Wow, der erste Kommentar überhaupt? Dann ist ein "Vielen Dank für deine Mühe!" aber erst recht überfällig! Sehr hilfreich zum Verständnis von RestAPI-Abfragen.🤓
@luggiiiluggiii7179
@luggiiiluggiii7179 Год назад
Das finde ich kurzsichtig
@fritzoscar3847
@fritzoscar3847 Год назад
Moin @archilab, danke für eure tollen Videos! Eine Frage: Wenn ich als Anforderung die Historisierbarkeit von Änderungsdaten habe, sprecht ihr ja hier von der Modellierung und entsprechend Implementierung dieser. Nun könnte ich ja aber auch darauf verzichten und stattdessen auch auf Auditing der Stamm-/Bestandsdaten direkt auf der Datenbank setzen. Gibt es hier einen Vorteil durch die Modellierung? (Vermutlich gilt die Antwort dann auch für Bewegungsdaten?) Danke :)
@asdsadasdarwerasddaa
@asdsadasdarwerasddaa Год назад
Wenn ich das direkt in der Datenbank mache, dann binde ich Fachlogik an eine bestimmte Technologie (meine [vermutlich relationale] DB), und ich verteile mein Domain Model an zwei Stellen. Daher bin ich kein Fan von so einem Ansatz.
@stefanw8203
@stefanw8203 Год назад
Wie immer gut erklärt anhand humorvollen Beispielen
@stefanw8203
@stefanw8203 Год назад
Danke, toll erklärt
@stefanw8203
@stefanw8203 Год назад
Danke für die super Darstellung, - einschließlich der Einordunung in bezug auf aktuelle Vorgehensweisen
@stefanw8203
@stefanw8203 Год назад
Danke, tolle Übersicht mit guter Erlärung
@fflecker
@fflecker Год назад
Endlich ein Vortrag, ohne sinnloses, nerviges, lautes Intro, kurz, klar, deutlich, übersichtlich und verständlich. Warum haben das nur so wenig Leute angesehen in dieser langen Zeit ?
@poparab
@poparab Год назад
Weil der Herr Professor, so verständlich etwas beibringt, das Sie das Video gar nicht anschauen müssen.
@fflecker
@fflecker Год назад
@@poparab "dass_Sie_das_Video gar nicht anschauen müssen" verstehe ich nicht im Bezug auf meinen Kommentar.
@tobrojekt27
@tobrojekt27 Год назад
Gutes Video! Hat mir sehr geholfen Interfaces richtig zu verstehen 👍
@xarkitux
@xarkitux Год назад
Toller Kanal! Hilft mir sehr beim lernen und weiterbilden, sowie diese Konzepte letztlich zu verstehen und anzuwenden. Alles sehr verständlich. Vielen lieben Dank für Deine Videos!
@Simon-ck8of
@Simon-ck8of Год назад
Danke
@Antonio-wm6ic
@Antonio-wm6ic Год назад
Vielen Dank für das tolle Video. Wie gliedert sich denn die Domäne in die Projektorganisation oder Projektstruktur ein? Ist die Domäne das Kerntream eines Projektteams oder ersätzt die Domäne den Produktowner und gibt Anforderung und Aufträge direkt an die Entwickler weiter? Gibt es in dem Modell einen Projektleiter?
@archilab
@archilab Год назад
Das sind eher zwei verschiedene orthogonale Ebenen. Die Domäne ist fachlich getrieben. Wie man eine Projektstruktur dazu definiert, hängt von vielen Faktoren ab - unter anderem natürlich der Projektgröße; es kann natürlich Projekte geben, die mehrere Domänen überspannen. Daher ist es eher sinnvoll, in (agilen, selbstorganisierten) Teams zu denken. Diese Teams sollten sich innerhalb einer Domänen- oder Subdomänengrenze befinden, damit eben Diskussionen leichter werden.
@Antonio-wm6ic
@Antonio-wm6ic Год назад
@@archilab Vielen Dank!
@ArturBaidi
@ArturBaidi Год назад
Hoffentlich bringt mich das weiter.
@HA-gu1qk
@HA-gu1qk Год назад
Viele Dank für die hilfreiche Videoreihe! Kleine Anmerkung: "Im vergangenen Video" am Anfang trifft nicht zu, das vergangene Video ist "Eine kurze Einführung in Domain-Driven Design (DDD)". Welches ist das gemeinte Video?
@archilab
@archilab Год назад
Gemeint ist das Video zur Textanalyse und Glossarerstellung: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Jyp0FQIMovY.html
@HA-gu1qk
@HA-gu1qk Год назад
@@archilab Vielen Dank! Ich erstelle gerade ein DDD Domänenmodell für ein Java Programm.. Welches Video würden Sie mir dazu empfehlen außer das über Entitäten und Value Objects? (die Begriffe sind bekannt). Viele Grüße, ein Student
@archilab
@archilab Год назад
@@HA-gu1qk Ich würde mir in jedem Fall die beiden Videos zu Aggregates anschauen. Darüber hinaus das zu Domain Primitives. Zum ganzen Strategic Design (Bounded Context etc.) fehlen leider (noch) Videos. Interessant könnte zusätzlich sein, sich die drei Videos zum Logischen Datenmodell anzuschauen, auch wenn das nicht nach DDD klingt. Es hilft aber IMHO sehr dabei, die Abhängigkeiten richtig zu modellieren (und in der richtigen Richtung). Also ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-wSXWknKQkbU.html, ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-RufBXPTt1SA.html und ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-w6967RWoLTk.html.
@HA-gu1qk
@HA-gu1qk Год назад
@@archilab Super, vielen Dank! :)
@HA-gu1qk
@HA-gu1qk Год назад
Danke, gut auf den Punkt gebracht. Diese Video-Playlist ist in dem Sumpf an schwammigen Tutorials und Zusammenfassungen zum DDD sehr notwendig.
@krausi2
@krausi2 Год назад
Großartiges Lehrvideo
@kaisteen4616
@kaisteen4616 Год назад
Super Videos 👍
@saadmd8972
@saadmd8972 Год назад
Ehrenmann
@StandardSkill-l7e
@StandardSkill-l7e 9 месяцев назад
Ich weiß
@Toastpit
@Toastpit Год назад
Danke für das Video!
@tonisun4785
@tonisun4785 Год назад
🤣😂🙃🤕
@tonisun4785
@tonisun4785 Год назад
🤔 Freiberuflicher Softwareentwickler hört sich gut an
@tonisun4785
@tonisun4785 Год назад
🤣😂🤔🤕
@tonisun4785
@tonisun4785 Год назад
🤣😂🙃🤮
@sotsch9280
@sotsch9280 Год назад
Der gute Evans hat 2005 Regeln aufgestellt die heute erst von der Mehrzahl verstanden werden und nach wie vor "best practice" sind ... eine Seltenheit in der IT - Welt
@tonisun4785
@tonisun4785 Год назад
Habe meine Wissen befestigt. HQL Danke Herr Bente. ❤🧡💛💚💙💜🤎🖤🤍
@tonisun4785
@tonisun4785 Год назад
🤣😂😅 WTF / min
@tonisun4785
@tonisun4785 Год назад
Wie kann man soooo trocken lehren Herr Professor ?
@MitruKaz
@MitruKaz 2 месяца назад
Soll er für Sie ein SubwaySurfer Video irgendwo einblenden oder eher singend lehren?
@juanitalaperejita3873
@juanitalaperejita3873 Год назад
Thank you so much! This video help me so much with my code
@TheDrs47
@TheDrs47 Год назад
Super Videos, vielen Dank für die Mühe!
@asdsadasdarwerasddaa
@asdsadasdarwerasddaa Год назад
Thanks, appreciate it :-)
@berndczech1554
@berndczech1554 2 года назад
Hi @archilab kann ich nochmal den Link zum Podcast mit Eric Evans haben?
@archilab
@archilab 2 года назад
www.se-radio.net/?s=226
@robz4632
@robz4632 2 года назад
Hilfreiche Liste der Datenstrukturen 👍
@marmont8005
@marmont8005 2 года назад
Guten Tag. Ich möchte Ihnen nur ein kleines Feedback geben und sagen, dass es super cool ist, dass Sie Ihr Wissen hier öffentlich teilen und dass Sie das sehr gut machen. Ich bin froh und dankbar, dass ich Zugang zu Ressourcen wie diesen habe, um mich auf meine zukünftige Karriere vorzubereiten. Ich beginne nächstes Jahr eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung und dank solchen Vorträgen kann ich mir ein solides Fundament an Wissen aufbauen, um meine Karriere mit Zuversicht und Selbstvertrauen zu starten. Ich wünsche Ihnen alles Gute und weiterhin viel Erfolg!
@robertklinger2883
@robertklinger2883 2 года назад
Sehr cooles Video, gerne mehr davon! :D Ich finde Clean Code sollte man immer mit so praktsichen Beispielen erklären, so lernt man viel schneller und praktischer was. @25:30 Ich denke auch die grüne Variante ist riskant. Würden wir annehmen, dass auch das produkt.asMarkdown() stets einen Footer ergänzt, dann würde im getMarkdown() des Produktkatalogs für jedes Produkt der Footer injiziert werden. Vermutlich gehört der Footer semantisch gar nicht zum Markdown und eine völlig neue Funktion sollte das Markdown ergänzt mit dem Footer returnen. Hier würde das Problem dann auftreten, wenn ein Markdown aus mehreren Produktkatalogen erzeugt werden soll.
@lars4953
@lars4953 2 года назад
Warum kein git desktop? Ist doch übersichtlicher als VS.
@Steve_Hamburg
@Steve_Hamburg Год назад
Wenn man sich mit der Kommandozeile auskennt ist man schneller als mit der Desktop Variante ..
@lars4953
@lars4953 Год назад
@@Steve_Hamburg hehehe. Für alle die Übersichtlichkeit nicht mögen vielleicht.
@Steve_Hamburg
@Steve_Hamburg Год назад
@@lars4953 Wenn Du meinst .. Ich bin IT Systemadmin und arbeite fast nur auf dem Terminal .. Es ist alles eine Sache der Gewöhnung - und übersichtlich ist es auf dem Terminal auch
@uwekahlert3104
@uwekahlert3104 2 года назад
ist 'git add' nicht nur nötig, wenn man z.B. neue Files hinzugefügt hat?
@archilab
@archilab 2 года назад
Nein, das git add braucht man, um die Änderungen zu stagen. Das commit bezieht sich nur auf die Stage, nicht auf die lokalen Änderungen.
@Sebastian-zs8cp
@Sebastian-zs8cp 2 года назад
Hi, muss man wissen was die Domäne ist um Microservices machen zu können oder abzuleiten zu können? ist Login und Registration und Registration Mail senden eine Domäne und somit Kandidaten für Microservices?
@archilab
@archilab 9 месяцев назад
Das scheint eine klassische Generic Subdomain zu sein, siehe github.com/ddd-crew/core-domain-charts. Ob man daraus einen Service macht oder z.B. das Sidecar-Pattern, wäre eine andere Frage. Hier böte sich sicher Keycloak an.