81,092
社区成员
发帖
与我相关
我的任务
分享
class interface Car{
int type=0;
void test();
}
class A interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
class B interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
[/code]
使用的话,可以这样
@auto...(自动注入那个东东)
private Car[] cars;
public void test(int type){
for(Car car:cars){
if(car.type=type){
car.test();
}
}
}
大概这样,后续维护只需要管car的实现类,如果有添加新的车型就加一个实现[/quote]
大佬,能用hashmap来维护那些新增的属性吗?新增的属性用另一张表来维护。毕竟新增过后除了库存/金额/创/修时间,其他都是静态的。[/quote]
如果有独有的属性,就在A、B、C上面加不就好了吗?如果是共有的,就在car上加,不懂你在问啥[/quote]
因为我在某工业管理软件上面看到他们所有的自定义零组件都是基于系统自带的通用模板ITEM上面拓展的,你只需在前端选择添加属性,选择属性类型就能持久化你自定义的零组件。[/quote]
换句话说,其实不能用汽车产品族来举例我这个问题,应该用汽车零件举例,我的目的是学习像这种系统一样,所有的零件都基于系统自带的始类型创建,比如我的始类型只有id,ver,creat/edit-time,我通过前端添加属性,使之成为螺丝,轮胎,底盘。[/quote]
属性的类型不是问题,问题在于逻辑处理要怎么做?目前已知所有编程语言都只能预设,假设有A、B、C、D、E等等的属性,然后他们组合成什么样,要处理成什么样。因为要进行逻辑处理,所有的属性类型都必须预设,比如说我有螺丝、螺母、螺丝刀、活塞这几个零件做了逻辑处理,那么我就只会开放这几个零件的选择,因为没做处理,所以前端是不允许添加这几个零件以外的属性。
而我举的车的例子,它只是一个例子而已,只是告诉你实现思路,并不是一个成熟的可用的产品。把A、B、C车子换成劳斯莱斯、奔驰、宝马等(原谅我车盲),这三台车子共有的属性很多,有车窗、车盖、车标、方向盘啥的,但也会有一些独有的设计是其他厂商没有的,独有的设计写在A、B、C实现类里,那些共有的属性(车窗、车盖、车标啥的)写在CAR接口上[/quote]
我知道这个思路,但不灵活啊。[/quote]
只要需要处理独有属性,只能这么写,无论哪个编程语言都差不多。除非你那些独有属性是不需要做任何处理,只要写进数据库就行的
class interface Car{
int type=0;
void test();
}
class A interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
class B interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
[/code]
使用的话,可以这样
@auto...(自动注入那个东东)
private Car[] cars;
public void test(int type){
for(Car car:cars){
if(car.type=type){
car.test();
}
}
}
大概这样,后续维护只需要管car的实现类,如果有添加新的车型就加一个实现[/quote]
大佬,能用hashmap来维护那些新增的属性吗?新增的属性用另一张表来维护。毕竟新增过后除了库存/金额/创/修时间,其他都是静态的。[/quote]
如果有独有的属性,就在A、B、C上面加不就好了吗?如果是共有的,就在car上加,不懂你在问啥[/quote]
因为我在某工业管理软件上面看到他们所有的自定义零组件都是基于系统自带的通用模板ITEM上面拓展的,你只需在前端选择添加属性,选择属性类型就能持久化你自定义的零组件。[/quote]
换句话说,其实不能用汽车产品族来举例我这个问题,应该用汽车零件举例,我的目的是学习像这种系统一样,所有的零件都基于系统自带的始类型创建,比如我的始类型只有id,ver,creat/edit-time,我通过前端添加属性,使之成为螺丝,轮胎,底盘。[/quote]
属性的类型不是问题,问题在于逻辑处理要怎么做?目前已知所有编程语言都只能预设,假设有A、B、C、D、E等等的属性,然后他们组合成什么样,要处理成什么样。因为要进行逻辑处理,所有的属性类型都必须预设,比如说我有螺丝、螺母、螺丝刀、活塞这几个零件做了逻辑处理,那么我就只会开放这几个零件的选择,因为没做处理,所以前端是不允许添加这几个零件以外的属性。
而我举的车的例子,它只是一个例子而已,只是告诉你实现思路,并不是一个成熟的可用的产品。把A、B、C车子换成劳斯莱斯、奔驰、宝马等(原谅我车盲),这三台车子共有的属性很多,有车窗、车盖、车标、方向盘啥的,但也会有一些独有的设计是其他厂商没有的,独有的设计写在A、B、C实现类里,那些共有的属性(车窗、车盖、车标啥的)写在CAR接口上[/quote]
我知道这个思路,但不灵活啊。
class interface Car{
int type=0;
void test();
}
class A interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
class B interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
[/code]
使用的话,可以这样
@auto...(自动注入那个东东)
private Car[] cars;
public void test(int type){
for(Car car:cars){
if(car.type=type){
car.test();
}
}
}
大概这样,后续维护只需要管car的实现类,如果有添加新的车型就加一个实现[/quote]
大佬,能用hashmap来维护那些新增的属性吗?新增的属性用另一张表来维护。毕竟新增过后除了库存/金额/创/修时间,其他都是静态的。[/quote]
如果有独有的属性,就在A、B、C上面加不就好了吗?如果是共有的,就在car上加,不懂你在问啥[/quote]
因为我在某工业管理软件上面看到他们所有的自定义零组件都是基于系统自带的通用模板ITEM上面拓展的,你只需在前端选择添加属性,选择属性类型就能持久化你自定义的零组件。[/quote]
换句话说,其实不能用汽车产品族来举例我这个问题,应该用汽车零件举例,我的目的是学习像这种系统一样,所有的零件都基于系统自带的始类型创建,比如我的始类型只有id,ver,creat/edit-time,我通过前端添加属性,使之成为螺丝,轮胎,底盘。[/quote]
属性的类型不是问题,问题在于逻辑处理要怎么做?目前已知所有编程语言都只能预设,假设有A、B、C、D、E等等的属性,然后他们组合成什么样,要处理成什么样。因为要进行逻辑处理,所有的属性类型都必须预设,比如说我有螺丝、螺母、螺丝刀、活塞这几个零件做了逻辑处理,那么我就只会开放这几个零件的选择,因为没做处理,所以前端是不允许添加这几个零件以外的属性。
而我举的车的例子,它只是一个例子而已,只是告诉你实现思路,并不是一个成熟的可用的产品。把A、B、C车子换成劳斯莱斯、奔驰、宝马等(原谅我车盲),这三台车子共有的属性很多,有车窗、车盖、车标、方向盘啥的,但也会有一些独有的设计是其他厂商没有的,独有的设计写在A、B、C实现类里,那些共有的属性(车窗、车盖、车标啥的)写在CAR接口上
class interface Car{
int type=0;
void test();
}
class A interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
class B interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
[/code]
使用的话,可以这样
@auto...(自动注入那个东东)
private Car[] cars;
public void test(int type){
for(Car car:cars){
if(car.type=type){
car.test();
}
}
}
大概这样,后续维护只需要管car的实现类,如果有添加新的车型就加一个实现
class interface Car{
int type=0;
void test();
}
class A interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
class B interface Car{
int type=1;
public void test(){
sout("处理逻辑")
}
}
[/code]
使用的话,可以这样
@auto...(自动注入那个东东)
private Car[] cars;
public void test(int type){
for(Car car:cars){
if(car.type=type){
car.test();
}
}
}
大概这样,后续维护只需要管car的实现类,如果有添加新的车型就加一个实现[/quote]
大佬,能用hashmap来维护那些新增的属性吗?新增的属性用另一张表来维护。毕竟新增过后除了库存/金额/创/修时间,其他都是静态的。[/quote]
如果有独有的属性,就在A、B、C上面加不就好了吗?如果是共有的,就在car上加,不懂你在问啥[/quote]
因为我在某工业管理软件上面看到他们所有的自定义零组件都是基于系统自带的通用模板ITEM上面拓展的,你只需在前端选择添加属性,选择属性类型就能持久化你自定义的零组件。[/quote]
换句话说,其实不能用汽车产品族来举例我这个问题,应该用汽车零件举例,我的目的是学习像这种系统一样,所有的零件都基于系统自带的始类型创建,比如我的始类型只有id,ver,creat/edit-time,我通过前端添加属性,使之成为螺丝,轮胎,底盘。