Запитання з тегом «constructors»

2
Тест блоку для перевірки створення об’єкта домену
У мене є модульний тест, який виглядає приблизно так: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } Я стверджую, що тут створюється об'єкт Person, тобто перевірка не проходить. Наприклад, якщо Посібник є недійсним або дата народження є раніше 01.01.1900 р., Перевірка завершиться невдало, і …

2
Чи погано створювати класи, єдиною метою яких є неявне перетворення в інший клас?
Уявіть ситуацію, коли ми використовуємо бібліотеку, яка дозволяє створювати Circleоб’єкти, де ви можете вказати радіус та центр кола, щоб визначити його. Однак чомусь він також приймає необхідний flavourпараметр. Тепер скажімо, що мені дійсно потрібно використовувати Circleв своєму власному додатку, але для цілей своєї програми я можу встановлювати аромат Flavours.Cardboardкожного разу. …

3
Властивості заглушки з приватними установками для тестів
У нас є об’єкт public class MyObject{ protected MyObject(){} public string Property1 {get;private set;} public string Property2 {get;private set;} public string Property3 {get;private set;} public string Property4 {get;private set;} public string Property5 {get;private set;} public string Property6 {get;private set;} public string Property7 {get;private set;} public string Property8 {get;private set;} public …

4
Де об'єкт в CQRS + ES повинен бути повністю ініціалізований: в конструкторі або при застосуванні першої події?
У спільноті OOP, як видається, існує широка думка, що конструктор класів не повинен залишати об'єкт частково або навіть повністю неініціалізованим. Що я маю на увазі під "ініціалізацією"? Грубо кажучи, атомний процес, який приводить новостворений об'єкт у стан, у якому тримаються всі його класові інваріанти. Це має бути першим, що трапляється …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.