我是一名.NET Web开发人员,为一家小型组织工作。我们这里有一些熟练的开发人员,但我们缺乏在更大、更有组织的软件公司工作过的人员。我们做得不错,但我发现自己想要更好地组织我的代码,却没有什么地方可以求助。
问题就在于,我们组织中的某个人决定,无论什么情况下,我们都要使用Web服务来进行数据访问。因此,我们的硬件架构被组织成只能通过这种方式访问数据库。理论上听起来很好,但问题是我们的大多数应用程序最终都像这样:
aspx.cs中的混乱代码 -> 仅调用存储过程的Web服务
除此之外没有太多的分离。每当我开始尝试研究更好的结构实践时,我就会开始阅读关于依赖注入、脏属性和类工厂等内容,我的头开始晕眩,然后我沮丧地转向其他事情。
这里是我的疑惑的一个基本示例。所以,假设我必须制作一个页面来选择员工列表,编辑它们并更新数据库。是更好的方法在获取时让Web服务返回一个Employee对象,并在更新时接受一个Employee对象呢?还是更好的方法是让Employee对象调用Web服务自我填充?
换句话说:Employee emp = svc.GetEmployee(42); vs Employee emp = new Employee(42);
第二个示例似乎对于更新(更新相关属性并调用emp.Update())来说更好组织,但问题是如果我需要获取员工列表怎么办?对于单个员工使用Employee emp = new Employee(id)是不一致的,但对于列表使用svc.GetAllEmployees()。
我觉得我有点啰嗦了,所以我要停止尝试解释,并希望有人能理解我的困惑。我感激任何人可以提供的建议。谢谢!
问题就在于,我们组织中的某个人决定,无论什么情况下,我们都要使用Web服务来进行数据访问。因此,我们的硬件架构被组织成只能通过这种方式访问数据库。理论上听起来很好,但问题是我们的大多数应用程序最终都像这样:
aspx.cs中的混乱代码 -> 仅调用存储过程的Web服务
除此之外没有太多的分离。每当我开始尝试研究更好的结构实践时,我就会开始阅读关于依赖注入、脏属性和类工厂等内容,我的头开始晕眩,然后我沮丧地转向其他事情。
这里是我的疑惑的一个基本示例。所以,假设我必须制作一个页面来选择员工列表,编辑它们并更新数据库。是更好的方法在获取时让Web服务返回一个Employee对象,并在更新时接受一个Employee对象呢?还是更好的方法是让Employee对象调用Web服务自我填充?
换句话说:Employee emp = svc.GetEmployee(42); vs Employee emp = new Employee(42);
第二个示例似乎对于更新(更新相关属性并调用emp.Update())来说更好组织,但问题是如果我需要获取员工列表怎么办?对于单个员工使用Employee emp = new Employee(id)是不一致的,但对于列表使用svc.GetAllEmployees()。
我觉得我有点啰嗦了,所以我要停止尝试解释,并希望有人能理解我的困惑。我感激任何人可以提供的建议。谢谢!