Скажем, у меня есть такой класс:
public class Offer1
{
private readonly Guid _id = new Guid("7E60g693-BFF5-I011-A485-80E43EG0C692");
private readonly string _description = "Offer1";
private readonly int _minWage = 50000;
//Methods here
}
Скажем, я хочу получить доступ к идентификатору, не создавая экземпляр класса. В нормальных ситуациях; Я бы просто сделал поле статическим и сделал бы это:
Offer1.ID //After changing the visibility to public and the name of the field to: ID
Тем не менее, я пытаюсь следовать DDD и TDD, и я считаю, что это осуждается по очевидным причинам, например проверяемость. Как я могу подойти к этому?
1) Store the ID in the configuration file and pass it to Offer1 in the constructor. I believe this is a bad idea because it is domain information and should be in the domain model.
2) Use a static field as described above.
3) Something else
Это больше вопрос дизайна.