このクラスはhttp://wiki.fluentnhibernate.org/Getting_startedから のもので、いくつかのロジックが含まれており、これは単一責任の原則に違反していると思います。どう思いますか?どうやってこれを解決しますか?
私を悩ませているもう 1 つのことは、nhibernate では常に IList が使用され、機能の少ない IEnumerable が使用されない理由です。
public class Store
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
public virtual IList<Employee> Staff { get; set; }
public Store()
{
Products = new List<Product>();
Staff = new List<Employee>();
}
public virtual void AddProduct(Product product)
{
product.StoresStockedIn.Add(this);
Products.Add(product);
}
public virtual void AddEmployee(Employee employee)
{
employee.Store = this;
Staff.Add(employee);
}
}