Скачайте проект Ddd.Taxi.
Все Value-типы, согласно DDD, должны поддерживать семантику значений, то есть сравниваться по содержимому своих свойств. Каждый раз реализовывать Equals, GetHashCode и ToString соответствующим образом — довольно муторное занятие. Часто для этого создают базовый класс, наследование от которого реализует нужным образом все эти стандартные методы. Это вам и предстоит сделать!
В рамках этого задания сравнивать Value-типы можно только по значению их публичных свойств, без учета значения полей. Хотя как правильно это стоит делать на практике — вопрос дискуссионный и, скорее, предмет договорённостей в вашей команде.
В файле Infrastructure/ValueType.cs реализуйте класс ValueType
так, чтобы проходили все тесты в файле ValueType_Tests.cs
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using Ddd.Taxi.Domain; using System.Threading; namespace Ddd.Infrastructure { /// <summary> /// Базовый класс для всех Value типов. /// </summary> public class ValueType<T> where T : class { |
Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂