21
CSLA.NET Tobias Reiffer [email protected]

Tobias Reiffer [email protected]. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Embed Size (px)

Citation preview

Page 1: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

CSLA.NET

Tobias [email protected]

Page 2: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Was bietet CSLA.Net ?N-level Undo-Funktion

Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist

Tracking, ob Objektdaten verändert wurden(is it “dirty”?)

Stark typisierten Listen von untergeordneten Objekte (Parent-Child-Beziehungen)

Ein einfaches und abstraktes Modell für den UI-Entwickler

Volle Unterstützung für “Data Binding“ bei Windows- und WebForms

Speichern von Objekten in einer Datenbank und sie wieder raus zu lesen

Custom-Authentifizierung

Integrierte Autorisierungsregeln

Page 3: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

A 5-Layer logische Architektur

Presentation

UIBusiness Logic

Data Access

Data and Storage Management

Page 4: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Mobile Objekte

Page 5: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Mobile Objekte

Page 6: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Erstellen von Business Object

Page 7: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Validation Rules public string Nachname { get { CanReadProperty("Nachname", true); return _nachname; } set { CanWriteProperty("Nachname", true); if (value == null) value = string.Empty; if (!_nachname.Equals(value)) { _nachname = value; PropertyHasChanged("Nachname"); } } }

Page 8: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Validation Rules protected override void AddBusinessRules() { ValidationRules.AddRule(CommonRules.StringRequired, "Nachname"); ValidationRules.AddRule(CommonRules.StringMaxLength, new CommonRules.MaxLengthRuleArgs("Nachname", 50)); }

Page 9: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Validation Rules private static PropertyInfo<string> NachnameProperty = RegisterProperty(new PropertyInfo<string>("Nachname")); public string Nachname { get { return GetProperty(NachnameProperty); } set { SetProperty(NachnameProperty, value); } }

Page 10: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

N-Level Undo Funktionalität

BeginEdit()

CancelEdit

ApplyEdit()

Page 11: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Data Portal

Client

Server

DataPortal

Page 12: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Data Portal

Das DataPortal unterstützt folgende Funktionen:

CreateFetchUpdateDelete

Page 13: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Create

Page 14: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Fetch

Page 15: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Update

Client Application Server

Database Server

UI

Business Object

Original Business Object DataPortal

Page 16: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Update

Client Application Server

Database Server

UI

Business Object

Original Business Object DataPortal

Updatet Business Object

Page 17: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Update

Page 18: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Delete

Page 19: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Demo

Page 20: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Weitere Vortragsfolien der .NET User Group Dortmund findet ihr auf:

www.do-dotnet.de

Links

http://www.lhotka.net/cslanet/

http://en.wikipedia.org/wiki/Component-based_Scalable_Logical_Architecture

Page 21: Tobias Reiffer treiffer@brockhaus-ag.de. N-level Undo-Funktion Tracking von gebrochenen Businessregeln, um festzustellen, ob ein Objekt gültig ist Tracking,

Q & ATobias [email protected]