Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8342975
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T05:55:20+00:00 2026-06-09T05:55:20+00:00

I would like to implement Factory Pattern in CSLA. I can use an abstract

  • 0

I would like to implement Factory Pattern in CSLA. I can use an abstract base class or an interface for the abstraction. I have decided to use an abstract class, only because I have certain common functionality such as, saving to store, retrieving from store, and deletion of the record. Also, some properties that would apply to all implemented objects.

C# only allows for inheritance from one class, so I can either use BusinessBase or the abstract class. I would also like the concrete types to have their own set of business rules. How can this be done with CSLA?

If I do what I have listed below, will the rules in both the abstract class as well as the concrete class get fired?

Some code …

Abstract class:

public class Form : BusinessBase<Form> {
   private static PropertyInfo<string> FormNameProperty = RegisterProperty<string>(c => c.FormName);
   public string FormName
   {
      get { return GetProperty(FormNameProperty); }
   }

   public abstract void LoadContent();

   protected override void AddBusinessRules()
   {
      // business rules that are commmon for all implementations
   }
}

Concrete implementation:

public class FormA : Form {
   private static PropertyInfo<string> FirstNameProperty = RegisterProperty<string>(c => c.FirstName);
   public string FirstName
   {
      get { return GetProperty(FirstNameProperty); }
   }

   public override void LoadContent(){
      // some custom code
   }

   protected override void AddBusinessRules()
   {
      // business rules that only apply to this class
   }
}

Factory:

public static class FormFactory{
   public static Form GetForm(string formanmae) {
      Type formType = GetFormType(formName);
      if(formType == null)
         return null;

      var form = Activator.CreateInstance(formType) as ReferralForm;
         return form;
   }
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T05:55:22+00:00Added an answer on June 9, 2026 at 5:55 am

    Instead of using Activator.CreateInstance, you should use the Csla DataPortal.

    var form = (Form)Csla.DataPortal.Create(formType, new Csla.Server.EmptyCriteria);
    

    This way you are creating your business object using the Csla way, so any rules that should be run will be.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would use them to implement factory pattern, for example: class Types{ static const
I have an interface with a base class in C# -- I'd like to
I would like to know whether it is possible to use an abstract factory
I am implementing something like an object factory in PHP. I have: class Factory{
I would like to force subclasses to implement the singleton pattern. I originally thought
I would like to implement a distinct thread for each route in apache camel.I
I would like to implement a very simple way to store a variable containing
I would like to implement a function with R that removes repeated characters in
I would like to implement a simple queueing service specific to a project. Where
I would like to implement a switch button, android.widget.Switch (available from API v.14). <Switch

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.