面试题 设计业务逻辑层和数据库结构
如题:
对于业务逻辑层 描述出相关接口即可
订单号 xxxxxx 订单日期 xxxxxx
客户 xxxxxx 总金额 xxxxxx
商品名称 单价 数量 总金额
xxxxxx xx xx xx*xx
xxxxxx xx xx xx*xx
... ...
我设计的数据库结构:
单头表 -> 订单号 varchar(...) 订单日期 datetime 客户 varchar(...) 总金额 decimal(...)
单体表 -〉 订单号 varchar(...) 商品编号 varchar(...) 商品名称 varchar(...) 单价 decimal(...)
数量 decimal(...) 总金额 decimal(...)
我设计的业务逻辑层:
public class order
{
public DataTable sel(orID) {...} //制定订单号查询订单
public int del(orID) {...} //删除指定订单 返回受影响行数
... ...
}
我觉得我写的数据库结构还行 至于业务逻辑层吗 呵呵 估计是丢人了
诸位帮看下
如题:
对于业务逻辑层 描述出相关接口即可
订单号 xxxxxx 订单日期 xxxxxx
客户 xxxxxx 总金额 xxxxxx
商品名称 单价 数量 总金额
xxxxxx xx xx xx*xx
xxxxxx xx xx xx*xx
... ...
我设计的数据库结构:
单头表 -> 订单号 varchar(...) 订单日期 datetime 客户 varchar(...) 总金额 decimal(...)
单体表 -〉 订单号 varchar(...) 商品编号 varchar(...) 商品名称 varchar(...) 单价 decimal(...)
数量 decimal(...) 总金额 decimal(...)
我设计的业务逻辑层:
public class order
{
public DataTable sel(orID) {...} //制定订单号查询订单
public int del(orID) {...} //删除指定订单 返回受影响行数
... ...
}
我觉得我写的数据库结构还行 至于业务逻辑层吗 呵呵 估计是丢人了
诸位帮看下
解决方案 »
- 服务器挂马怎么杜绝?
- google maps api 密钥问题,急在线等,拜托大家帮忙,不知道为什么已申请的key不好使了
- 关于ajax的问题
- asp.net 多文件上传获取文件名和保存问题。
- 动态创建的GridView分页的问题
- !!!@@@----JS折叠菜单的求助(请帮下我啊!)---@@@!!!
- 怎样把webfrom窗体的最大化、最小化,关闭按钮去掉。请各位帮帮忙
- “/PortalVBVS”应用程序中的服务器错误。
- ****************技术问题*************
- JavaScript+asp的问题,跪求答案
- 我这句读数据库的话错哪了啊 谢谢
- 未将对象引用设置到对象的实例
public Order Parent{get;set;}在Order中也不需要有删除操作。当从持久化机制中删除OrderDetail的时候,会根据Parent来更新订单中的对明细的关联(或者根本不需要更新),但是总之这不是业务逻辑内容。
上述设计没有没有考虑任何业务规则,实际的东西应该比这个复杂10倍以上。
数据库设计比较低级。基本上,设计好业务逻辑和接口,数据库结构就可以由反射程序自动产色和那个和升级更新了,不需要由人工去产生和维护。
数据库结构就可以由反射程序自动产生和升级更新在从业务逻辑到持久化程序的映射的程序中,应该考虑对象的继承、关联、索引、级联更新、c/s处理、缓存等,仅仅会创建数据库表,实在是做得太少了。
不过看到楼主的类和两个方法的命名我就郁闷,如果是面试,就因为这个会很容易被刷掉。
至少要大写类名吧?SP1234分明是要让楼主用一套ORM工具……
我觉得如果细表对象(OrderDetail)不需要用到主表对象(Order)的话,也不一定需要建立Parent属性。
更典型的是如果系统并不关心OrderDetail对象(系统粒度为订单级),设计的时候也有可能不建立OrderDetail类型。Order中的item只是Product的一个简单引用。
不过楼主这里有价格,数量,和总价,单独的OrderDetail对象还是需要的。
当然从完备对象关系的角度看,sp1234说的很有道理。
我固执的认为我的表设计得还凑合 就是业务逻辑层一团糟
我固执的认为我的表设计得还凑合
varchar nvarchar看看这两个保存英文和中文的情况
。。