Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Delphi-News aus aller Welt (https://www.delphipraxis.net/58-delphi-news-aus-aller-welt/)
-   -   Delphi Form/Code Separation (CodeRage 9 2014) (https://www.delphipraxis.net/207712-delphi-form-code-separation-coderage-9-2014-a.html)

DP News-Robot 25. Apr 2021 18:40

Delphi Form/Code Separation (CodeRage 9 2014)
 
I just re-watched an excellent video by David Schwartz an Embarcadero MVP. Schwartz gave this presentation during a 2014 Code Rage 9 session.

Schwartz says the majority of Delphi code he has seen as employs what he calls "Back-Door" injection. All the data movement to and from controls is handled at the form level. He discusses "Constructor" injection and "Property" injections pointing out the pros and cons of both.

I found this very interesting.

CodeRage9
Have You Embraced Your Inner Software Plumber Yet?
David Schwartz



https://youtu.be/qqKx8fQTTfI

Here are time jumps to specific sections:

00:41 Overview:
01:09 Inspiration For This Talk
02:25 What This Talk IS and IS NOT About
03:20 Requires Shift in Perspective
05:56 What We Do Today
06:10 FOCUS: Generalizing Form Interfaces
07:23 Tour of Data Structures + Cases
08:50 Tour of simple Delphi Edit Point Form
09:30 Quick detour Dependency Injection
10:47 Constructor vs. Property Injection
12:00 "Back-door" Injection
12:42 Using Property Injection
13:31 Using Constructor Injection
14:35 Summary
15:40 Constructor Injection Limitations
18:23 Plumbing Code and 4 Types of Forms
20:55 Initializing & Retrieving data to/from Forms
21:51 Focus: Selection Forms
24:23 Selection Using Setter/Getter Variant
25:55 Drawbacks to This Approach
27:41 Interface Separation Alert Forms
28:19 Interface Separation Selection Forms
29:02 Interface Separation CRUD Forms
30:06 Classic Selection Form Interaction
30:36 Selection Using Interface + Class
34:05 What Have We Learned?
35:38 Recommendations
36:42 Conclusions


External References:

Mark Seeman Blog Post - Refactoring to Aggregate Services




Enjoy,
Gunny Mike
https://zilchworks.com









Weiterlesen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz