为了账号安全,请及时绑定邮箱和手机立即绑定

如何做扩展的设计?

如何做扩展的设计?

翻翻过去那场雪 2018-10-10 04:05:00
举个简单的例子,有一个用户发布新闻的功能,新闻实体public class News{      public string ID{get;set;}      public string UserID{get;set;}      public string Name{get;set;}}如果说用户发布一个新闻,则是调用逻辑类的AddNews()方法。现在需要增加一个新需求,要控制用户发布新闻的数量。最常规的做法就是在用户实体增加一个新闻数量的标记属性,在AddNews()里加入判断控制,同时每则增加一个新闻则改变新闻数量的标记。 我想请教的是:如何在一开始的设计中,就预留这种可能的扩展,在类的设计中应该怎么去做。能做到在新的需求中能最少的改变,实现最小的偶合。盼高手指教,万分感谢!
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

程序永远都是为业务服务的,所以在搞清楚业务之前做代码很可能是不满足业务需求的,像上面所说的这种属于一个业务功能,也就是说这是需求的一部分,只能在设计之前就搞清楚,而后期去完善就只能去改原来的设计了。当然了,为了尽量降低后期维护的更改范围,可以这么做:设计一个类,属性中包含其他实例,具体有哪些实例是通过读配置文件,通过反射生成,这样方便扩展,但是在实际操作过程中,该原来的代码是难免的。

查看完整回答
反对 回复 2018-10-16
  • 2 回答
  • 0 关注
  • 628 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信