Привет, спасибо за то, что нашли время, чтобы прочитать мой вопрос. У меня есть проект, и я хотел бы иметь один уникальный экземпляр класса.asp.net mvc4 EF5 Singleton?
У меня есть класс JobOffer, который имеет свойство типа 'OfferStatus' (которое является абстрактным и реализует шаблон состояния). У меня есть «StateAvailable» и «StateUnavailable» (или «открыто» и «закрыто», если хотите). Объекты JobOffer должны храниться в db.
Я бы хотел иметь только один «StateAvailable» и один «StateUnavailable», поэтому, когда я создаю новый JobOffer, я ссылаюсь на «StateAvailable» или «StateUnavailable», а затем я могу перечислить все jobOffers, которые являются Open (доступно) и все закрытые (недоступные). Я знаю, что могу сделать это, добавив состояния в db в методе seed и никогда не создавая новое состояние. Но мне было интересно, можно ли сделать синглтон или что-то, чтобы избежать того, что кто-то (я имею в виду контроллер, модель или что-то еще) может создавать новые экземпляры этого класса.
Кто-нибудь может мне помочь?
Спасибо :)
public class JobOffer {
public int JobOfferId {get;set;}
public OfferState State {get;set;
public virtual ICollection<Person> People {get;set;}
//And some methods here, wich depends on the state
//ie, this.State.myMethod();
У вас есть код JobOffer, пожалуйста, опубликуйте его – TalentTuner
Там, я добавил его –
Почему бы вам просто не сделать его логическим и назвать его StateAvailable? Когда он недоступен, он будет ложным, когда будет доступно true. –