Component-based Scalable Logical Architecture

Component-based Scalable Logical Architecture (CSLA)
Stable release
8.2.7 / 6 September 2024; 3 months ago (2024-09-06)[1]
RepositoryCSLA Repo
Written inC#
Operating systemWindows, macOS, Linux, iOS, Android
Platform.NET Core
TypeWeb application framework
LicenseMIT License
Websitewww.cslanet.com

CSLA .NET is a software framework created by Rockford Lhotka that provides a standard way to create robust object oriented programs using business objects. Business objects are objects that abstract business entities in an object oriented program. Some examples of business entities include sales orders, employees, or invoices.

Although CSLA itself is free to download, the only documentation the creator provides are his books and videos, which are not free.

CSLA (Component-based Scalable Logical Architecture) was originally targeted toward Visual Basic 6 in the book Visual Basic 6.0 Business Objects by Lhotka.[2] With the advent of Microsoft .NET, CSLA was completely rewritten from the ground up, with no code carried forward, and called CSLA .NET. This revision took advantage of Web Services and the object oriented languages that came with Microsoft .NET (in particular, Visual Basic.NET and C#).

CSLA .NET was expounded in Expert C# Business Objects [3] and Expert One-on-One Visual Basic .NET Business Objects ISBN 1-59059-145-3, both written by Lhotka. Although CSLA and CSLA .NET were originally targeted toward Microsoft programming languages, most of the framework can be applied to most object oriented languages.

Current information about CSLA .NET is available through Lhotka's self-published Using CSLA 4 ebook series.[4]

Features of CSLA

Smart data

A business object encapsulates all the data and behavior (business logic and rules) associated with the object it represents. For example, an OrderEdit object will contain the data and business rule implementations necessary for the application to correctly allow the user to edit order information.

Rules engine

The CSLA .NET framework provides a rules engine that supports validation rules, business rules, and authorization rules. These rules are attached to object instances or properties, and are automatically invoked by CSLA .NET when necessary. Validation rules may be implemented using the CSLA .NET rule engine, or through the use of the DataAnnotations feature of Microsoft .NET.

Object persistence

Data creation, retrieval, updates, and deletes (CRUD) are performed by clearly defined methods of the business object associated with the data testing. Data access logic is clearly separated from business logic, typically using a repository pattern or other mainstream object-oriented programming techniques.

Metastate maintenance

CSLA .NET manages the metastate about each business object. For example, each business object tracks information about when it is new (it represents data that hasn't been saved yet) and when it is dirty (it needs to be saved to the database either because it is new or because its member data has been changed since it was last loaded). Business objects can also be marked for deletion so they can later be deleted (for example when a user has pressed a button confirming his or her intention to delete the rows.)

n-Level undo

This feature makes it possible for an object or collection of objects to maintain a collection of states. This allows the object to easily revert to previous states. This can be useful when a user wants to undo previous edits multiple times in an application. The feature can also allow a user to redo multiple edits that were previously undone.

This feature can provide rich functionality for desktop application and web applications. One note of caution would be to consider the overhead for high-transaction web-based applications. n-Level undo capability will require storing the previous state of an application generally accessed by reflection. This is common practice in desktop applications where changes must be "Applied". In web based designs, the added storage may pose unnecessary overhead as changes are generally submitted in batch and do not require the same level of "undo" capability.

Business rule tracking

Allows objects to maintain collections of "broken rule" objects. Broken rules will exist for an object until it is in a valid state, meaning it is ready to be persisted to the database. BrokenRule objects are usually associated with validation logic such as ensuring that no alphabetic characters are entered into a phone number field. For example, if an Account object has a PhoneNumber property, and that property is assigned a phone number with alphabetic characters, the Account object's IsValid property will become false (making it impossible to save to the database) and then a new BrokenRule object will be created and assigned to the Account's Broken Rules collection. The rule will disappear when the invalid phone number is corrected making the Account object capable of saving itself to the database.

Extended features of CSLA

Simple UI creation

Business objects created using CSLA .NET fully support data binding for all Microsoft .NET UI technologies, including Windows Runtime (WinRT), WPF, Web Forms, ASP.NET MVC, Windows Phone, Silverlight, and Windows Forms. Data-bound controls like DataGrids and ListBoxes can be bound to business objects instead of more generalized database objects like ADO.NET DataSets and DataTables.

Distributed data access

The CSLA .NET framework implements a concept called mobile objects or mobile agents to allow objects to move across network boundaries using WCF, Web Services, or other technologies. As a result, the data access enjoys location transparency, meaning that the logic may run on the client workstation or server depending on the application's configuration. It can also be configured to use manual database transactions or distributed two-phase commit transactions.

Data access logic is cleanly separated from business logic, and can be implemented using any data access technology available on the Microsoft .NET platform. Examples include ADO.NET Entity Framework, raw ADO.NET, nHibernate, etc.

Web Services support

Business logic created with the CSLA .NET framework can easily be exposed as a web service to remote consumers. This can be done using server-side Microsoft .NET technologies such as Web API, WCF, and asmx web services.

References

  1. ^ "Releases · MarimerLLC/csla". github.com. Retrieved 2024-12-03.
  2. ^ Visual Basic 6.0 Business Objects ISBN 1-86100-107-X
  3. ^ Expert C# Business Objects ISBN 1-59059-344-8
  4. ^ Using CSLA 4 ("Using CSLA 4 Ebook Series | CSLA .NET Store > Store". Archived from the original on 2013-03-11. Retrieved 2013-02-23.)

Read other articles:

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016) بطولة أمم إفريقيا لكرة السلة 1962 المعطيات المنطقة أفريقيا المستضيف  الجمهورية العربية المتحدة العام 196...

 

Artikel ini bukan mengenai berat jenis. Massa jenis relatif, rapat jenisSimbol umumSGTurunan daribesaran lainnya S G true = ρ sample ρ H 2 O {\displaystyle SG_{\text{true}}={\frac {\rho _{\text{sample}}}{\rho _{\mathrm {H_{2}O} }}}} Asisten bosun Penerbangan Angkatan Laut Amerika Serikat menguji rapat jenis bahan bakar JP-5 Massa jenis relatif atau rapat jenis[1][2] adalah rasio massa jenis (massa satu satuan volume) suatu zat terhadap massa jenis bahan referensi...

 

Bagian dari seri artikel Kristen tentangMusa Musa dan Israel Sekilas Tentang Musa Nama dan Julukan Tulah • Mujizat • Pelayanan Musa dan Sejarah Garis waktu • Kronologi • Tokoh Kehidupan pribadi Musa Budaya dan sejarah latar belakang Musa dan Kekristenan Peran Musa lbs Bagian dari seriIslam Rukun Iman Keesaan Allah Malaikat Kitab-kitab Allah Nabi dan Rasul Allah Hari Kiamat Qada dan Qadar Rukun Islam Syahadat Salat Zakat Puasa Haji Sumber hukum Islam al-Qur'an Sunnah (Hadis, Sirah) Ta...

Vektor CR-21 Jenis Senapan serbu Negara asal  Afrika Selatan Sejarah pemakaian Masa penggunaan Purwarupa Digunakan oleh Belum ada Sejarah produksi Tahun 1997 Diproduksi Purwarupa Jumlah produksi Purwarupa Varian Karabin CR-21 Spesifikasi Berat 372 kg (820,1 pon) Panjang 760 mm (29,9 in) Panjang laras 460 mm (18,1 in) Peluru 5,56 x 45 mm NATO Mekanisme Gas-Operated, rotating bolt Rata² tembakan 700 peluru/min (full auto) Kecepa...

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要編修,以確保文法、用詞、语气、格式、標點等使用恰当。 (2013年8月6日)請按照校對指引,幫助编辑這個條目。(幫助、討論) 此條目剧情、虛構用語或人物介紹过长过细,需清理无关故事主轴的细节、用語和角色介紹。 (2020年10月6日)劇情、用語和人物介紹都只是用於了解故事主軸,輔助�...

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

بادغان شهيد أب شناسان تقسيم إداري البلد إيران  السكان التعداد السكاني 1904 نسمة (إحصاء 2016) تعديل مصدري - تعديل   بادغان‌ شهيد أب‌ شناسان هي قرية في مقاطعة أرومية، إيران.[1] يقدر عدد سكانها بـ 1904 نسمة بحسب إحصاء 2016.[2] مراجع ^ تعداد سكان جمهورية إيران الإسلامية، 1385 / 2...

 

梅拉蒂·达伊瓦·奥克塔维亚尼Melati Daeva Oktavianti基本資料代表國家/地區 印度尼西亞出生 (1994-10-28) 1994年10月28日(29歲)[1] 印度尼西亞万丹省西冷[1]身高1.68米(5英尺6英寸)[1]握拍右手[1]主項:女子雙打、混合雙打職業戰績48勝–27負(女雙)109勝–56負(混雙)最高世界排名第4位(混雙-普拉文·喬丹)(2020年3月17日[2])現時世界排名第...

 

n.SSignInformasi latar belakangAsalSeoul, Korea SelatanGenreK-popTahun aktif2023 (2023)–sekarangLabeln.CH EntertaintmentAnggota Kazuta Hyun Eddie Doha Junhyeok Sungyun Robin Hanjun Laurence Huiwon n.SSign adalah sebuah grup vokal laki-laki Korea Selatan yang berada di bawah naungan n.CH Entertainment. Grup tersebut debut pada tahun 2023 dan dibentuk melalui acara survival Stars Awakening. Pada awalnya, n.SSign dibentuk sebagai grup proyek dan kemudian diputuskan menjadi ...

Disambiguazione – Se stai cercando il cognome italiano, vedi Livraghi (cognome). Questa voce o sezione sull'argomento Lombardia è ritenuta da controllare. Motivo: Toni enfatici, errori ortografici e grammaticali: da non escludere copyviol Partecipa alla discussione e/o correggi la voce. Segui i suggerimenti del progetto di riferimento. Livragacomune Livraga – VedutaLa chiesa parrocchiale LocalizzazioneStato Italia Regione Lombardia Provincia Lodi AmministrazioneSindaco...

 

سفارة دولة فلسطين لدى جنوب أفريقيا فلسطين جنوب أفريقيا الإحداثيات 25°44′27″S 28°13′11″E / 25.7407°S 28.21966°E / -25.7407; 28.21966   البلد جنوب إفريقيا  المكان بريتوريا الاختصاص جنوب إفريقيا  السَفير حنان جرار تعديل مصدري - تعديل   سفارة دولة فلسطين لدى جنوب أفريقيا هي ا�...

 

联合国安全理事会否决权,简称一票否决权,是指联合国安全理事会的5個常任理事國(美国、英国、法國、俄羅斯、中國)各自擁有否決權,能对非程序性事項的安理會決議草案進行否決,以达至对具有强制性的安理会决议的“大国一致”。即使非程序性事項的安理會決議草案獲得大部分成員國的支持,但只要有一個常任理事國投下反對票(即行使否決權)便能使該決議草...

Athletics at the2011 Summer UniversiadeTrack events100 mmenwomen200 mmenwomen400 mmenwomen800 mmenwomen1500 mmenwomen5000 mmenwomen10,000 mmenwomen100 m hurdleswomen110 m hurdlesmen400 m hurdlesmenwomen3000 msteeplechasemenwomen4×100 m relaymenwomen4×400 m relaymenwomenRoad eventsHalf marathonmenwomen20 km walkmenwomenField eventsHigh jumpmenwomenPole vaultmenwomenLong jumpmenwomenTriple jumpmenwomenShot putmenwomenDiscus throwmenwomenHammer throwmenwomenJavelin throwmenwomenCombined event...

 

American college football season 2012 Utah State Aggies footballWAC championFamous Idaho Potato Bowl championFamous Idaho Potato Bowl, W 41–15 vs. ToledoConferenceWestern Athletic ConferenceRankingCoachesNo. 17APNo. 16Record11–2 (6–0 WAC)Head coachGary Andersen (4th season)Offensive coordinatorMatt Wells (1st season)Offensive schemeSpreadDefensive coordinatorDave Aranda (1st season)Base defense3–4Home stadiumRomney StadiumSeasons← 201...

 

フルダラビンリン酸エステル IUPAC命名法による物質名 IUPAC名 [(2R,3R,4S,5R)-5-(6-amino-2-fluoro-purin-9-yl)- 3,4-dihydroxy-oxolan-2-yl]methoxyphosphonic acid 臨床データ販売名 FludaraDrugs.com monographMedlinePlus a692003胎児危険度分類 D 法的規制 AU: 処方箋薬(S4) UK: 処方箋のみ (POM) 投与経路 Intravenous, oral薬物動態データ生物学的利用能55%血漿タンパク結合19 to 29%半減期20 hours排泄Renal識別C...

Voce principale: S.P.A.L.. S.P.A.L. 2013Stagione 2016-2017I tifosi spallini festeggiano la promozione in Serie A nel prepartita di SPAL-Bari del 18 maggio 2017 Sport calcio Squadra SPAL Allenatore Leonardo Semplici All. in seconda Andrea Consumi Presidente Walter Mattioli Serie B1º. Promossa in Serie A Coppa ItaliaTerzo turno Maggiori presenzeCampionato: Lazzari (39)Totale: Lazzari (41) Miglior marcatoreCampionato: Antenucci (18)Totale: Antenucci (20) StadioPaolo Mazza (8 500) Abb...

 

Устойчивый трифенилметильный радикал Свободные радикалы в химии — частицы, содержащие один или несколько неспаренных электронов на внешней электронной оболочке. Свободные радикалы бывают твёрдыми, жидкими и газообразными веществами и могут существовать от очень к...

 

Ecclesiastical office Petro Mohyla, Moldavian noble, Eastern Orthodox theologian, and Metropolitan of Kiev, Galicia and all Rus' In Christian churches with episcopal polity, the rank of metropolitan bishop, or simply metropolitan (alternative obsolete form: metropolite[1]), pertains to the diocesan bishop or archbishop of a metropolis. Originally, the term referred to the bishop of the chief city of a historical Roman province, whose authority in relation to the other bishops of the p...

Telephone numbers in IrelandTelephone Dialling Codes in IrelandLocationCountryIrelandContinentEuropeRegulatorComRegTypeOpenNSN length7–9Formatvarious, see textAccess codesCountry code+353International access00Long-distance0List of Ireland dialing codes Numbers on the Irish telephone numbering plan are regulated and assigned to operators by ComReg. Overview Telephone numbers in Ireland are part of an open numbering plan that allows variations in number length. The Irish format is similar to...

 

Allez ola olé Chanson de Jessy Matador au Concours Eurovision de la chanson 2010 Sortie 2010 Langue Français Genre Electronic, Hip-hop, Pop[1] Auteur-compositeur Hugues Ducamin, Jacques Ballue Label Wagram Music Chansons représentant la France au Concours Eurovision de la chanson Et s'il fallait le faire(2009) Sognu(2011)modifier Allez ola olé Single de Jessy Matadorextrait de l'album Electro Soukouss Sortie 10 mai 2010 Enregistré 2010 Durée 2:52 Genre Dancehall, Zouk, Ndombo...