分拆数据的接入类别进入的读者和作家,或将他们吗?
-
09-06-2019 - |
题
这可能是在"discussy"的一面,但是我会真的想听听你的看这个。
以前我也经常编写的数据访问的课程,处理两阅读和写作,这往往导致贫穷的命名,就像FooIoHandler等。该规则的拇指那类难以名称很可能是设计不良表明,这不是一个很好的解决方案。
所以,我最近已经开始分裂的数据访问成FooWriter和FooReader,这导致更好的名称,并提供一些额外的灵活性,但同时我挺喜欢保持在一起,如果课程是不大的。
是的读者/作家分离的一个更好的设计,或者我应该联合他们?如果我应该将它们结合起来,什么我应该名称的类?
谢谢/艾瑞克
解决方案
奥姆可能是你最好的解决方案。
或者使用一种类型的储存库的图案,用"thingContext"的对象是负责国家的持久性。
就个人而言,我使用email的模式,其中保存的逻辑是烤成一个基类,但我要离开这有利于它能够式储存库的图形。该津贴DDD和测试的事情没有一个数据库是很不错的框架中型情况,我的商务逻辑的是,现在越来越一个新的用户界面。
其他提示
我现在使用皇宫Sql。这解决了问题。
但是如果没有这样的选择(或一些类似的奥姆的工具),我看不到任何理由单独的阅读写方法。它只是增加了更多类别和复杂的数据访问。我总是有设计如下:
- 部件/业务目的:车
- 数据访问、包含静态的读写方法:CarDB
例的使用情况:
Car car = new Car();
car.Manufacturer = "Toyota"
car.Model = "Camry"
car.Year = 2006;
car.CarID = CarDB.InsertCar(car)
car.OwnerID = 2;
CarDB.UpdateCar(car);
这也有道理的数据访问其中两个读写和需要执行作的一部分,相同的交易。如果分类,会在哪里走?
忽视对象(不是因为我无论是对于或反对)我会让他们在同一类。他们两个方面的单一职责分离,他们只是让你看起来在两个地方在那里我可以真的不想一个很好的原因,你就想这样做。
东西读和写到后台的储存可能被称为数据存取,或者ReaderWriter,或IO,或存储。
因此,如何约之一:
- FooDataAccessor
- FooAccessor
- FooReaderWriter
- FooRW
- FooIO
- FooStore
- FooStorage
当选择我一般类读者创作者。
不隶属于 StackOverflow