我正在使用代码生成来生成与某个数据库中的表定义相对应的接口。
由于数据库非常混乱,我得到大约500个接口(500个表),每个接口都有自己的定义。
某些接口可以相互继承,对于某些接口,可以提取通用接口以最小化代码定义。 例如:
interface One
{
int FirstField { get; set; }
bool SecondField { get; set; }
DateTime ThirdField { get; set; }
}
interface Two
{
int FirstField { get; set; }
DateTime ThirdField { get; set; }
double FourthField { get; set; }
}
我想对代码执行某种最小化,以便生成最少量的代码(通过多重继承和公共代码提取)。 从上面的例子我需要得到类似的东西:
interface OneTwoCommon
{
int FirstField { get; set; }
DateTime ThirdField { get; set; }
}
interface One : OneTwoCommon
{
bool SecondField { get; set; }
}
interface Two : OneTwoCommon
{
double FourthField { get; set; }
}
哪个算法分支处理这些问题?
我从哪里开始查找这些算法?
我甚至不知道在谷歌写什么来获得相关结果。
答案 0 :(得分:0)
我想出了一个简单的算法。
初始化:
迭代:
迭代: