Oop 违反坚实的原则
假设我们有一个类结构,其中代码分为两部分,比如说计算机科学和商业,现在这也进一步分为国家,比如印度(cs或MBA)和美国(cs或MBA)。 现在让我们考虑一个场景,我创建了像之类的类。 1) 教育班(家长班) 2) MBA课程扩展了教育课程 3) 理学士(cs)课程扩展了教育课程 现在在国家方面我也上了课 4) 印度_BS类扩展BS(cs)类 5) 印度大学MBA班扩大MBA班 6) US_BS类扩展了BS(cs)类 7) 美国工商管理硕士班扩大工商管理硕士班 现在让我们假设我编写的代码中,国家是在等级最低的类方法中设置的(即国家类INDIA_-BS、INDIA_-MBA、us_-BS、us_-MBA)Oop 违反坚实的原则,oop,class,solid-principles,ooad,Oop,Class,Solid Principles,Ooad,假设我们有一个类结构,其中代码分为两部分,比如说计算机科学和商业,现在这也进一步分为国家,比如印度(cs或MBA)和美国(cs或MBA)。 现在让我们考虑一个场景,我创建了像之类的类。 1) 教育班(家长班) 2) MBA课程扩展了教育课程 3) 理学士(cs)课程扩展了教育课程 现在在国家方面我也上了课 4) 印度_BS类扩展BS(cs)类 5) 印度大学MBA班扩大MBA班 6) US_BS类扩展了BS(cs)类 7) 美国工商管理硕士班扩大工商管理硕士班 现在让我们假设我编写的代码中,国家
但逻辑是相似的。我传递国家名称,它就被设置好了 所以我的问题是
1) 将公共逻辑放在父类中(如果我这样做的话)并从层次结构中最低的子类调用该方法是否明智 2) 如果这是错误的,那么它违反的OOPS原则是什么 3) 它是否也违反了坚实的原则?如果是,那怎么办 4) 如果我将公共代码放在父类中,是否会降低子类的一致性 请尽可能详细说明。 谢谢你的类图: 我看到x个违规行为:
你听说过类图吗?是的,但我如何用Soy表示你可以将图像添加到Soy中你可以将其作为图像添加,并将其嵌入到帖子中
class Test
{
static void Main(string[] args)
{
IEducationFactory india = new IndianEducation();
IEducationFactory newYork = new USEducation();
IDiplom d1 = india.Create_BSC();
IDiplom d2 = newYork.Create_MBA();
}
}
public interface IDiplom
{
}
public interface IEducationFactory
{
IDiplom Create_MBA();
IDiplom Create_BSC();
}
public class IndianEducation : IEducationFactory
{
public IDiplom Create_MBA()
{
throw new NotImplementedException();
}
public IDiplom Create_BSC()
{
throw new NotImplementedException();
}
}
public class USEducation : IEducationFactory
{
public IDiplom Create_MBA()
{
throw new NotImplementedException();
}
public IDiplom Create_BSC()
{
throw new NotImplementedException();
}
}