Supplier supplier
Имея в качестве типа поставщика и идентификатор поставщика в качестве свойства поставщика, для меня было бы больше смысла.Первоначальное преимущество заключается в том, что вы можете выполнить базовую проверку идентификатора поставщика.Конечно, вы представляете его как int сейчас, но это может (и, вероятно, изменится) в будущем.Например, вы можете решить представить идентификатор в виде строки и int внутри, но при сообщении о нем вы будете представлять его в виде строки: XYZ1234, где XYZ - это название компании-поставщика (строка), а 1234 - уникальный идентификатор (int) (пример может быть плохо продуманным, но он все равно может измениться каким-то образом) /
Реальное преимущество наличия поставщика как типа связано с тем, что вы сможете использовать Depenancy Injection, чтобы назначить поставщика наЧасть при создании экземпляра части.Таким образом, ваш конструктор для Part должен выглядеть следующим образом:
Part(Supplier supplier)
{
_supplier = supplier;
}
Теперь ваш класс Part не зависит от изменений в вашем классе Supplier.Т.е. это не зависит от него.
Примечание: Если вы не знакомы с Depenancy Injection, эта статья Мартина Фаулера должна объяснить:
http://martinfowler.com/articles/injection.html