概述
请留言,说出你的解题思路和答案。稍后,我会把参考答案发到留言区。不定期整理相关的问题答案分享。
1、以下代码违反了什么设计原则()
public class Student
{
public int Id;
public string StudentName;
}
public class MClass
{
public int Id;
public string ClassName;
public List<Student> students = new List<Student>();
public void print()
{
foreach(Student stu in students)
{
Console.WriteLine("student id:{0},student name{1}", stu.Id, stu.StudentName);
}
}
}
public class School
{
public int Id;
public string SchoolName;
public List<MClass> mClasses = new List<MClass>();
public void Print()
{
Console.WriteLine("school id:{0},school name{1}", Id, SchoolName);
foreach (MClass mclss in mClasses)
{
Console.WriteLine("class id:{0},class name{1}", mclss.Id, mclss.ClassName);
List<Student> students = mclss.students;
foreach (Student stu in students)
{
Console.WriteLine("student id:{0},student name{1}", stu.Id, stu.StudentName);
}
}
}
}
- A. 依赖倒转原则
- B. 接口隔离原则
- C. 合成复用原则
- D. 迪米特法则
2、以下代码违反的原则是()
public class Chart
{
private string _type;
private double[][] _data;
public Chart(double[][] data, string type)
{
_type = type.ToLower();
_data = data;
if (_type == "histogram")
{
//初始化柱状图
}
else if (_type == "pie")
{
//初始化饼状图
}
else if (_type=="line")
{
//初始化折线图
}
}
public void Display()
{
if (_type == "histogram")
{
//显示柱状图
}
else if (_type == "pie")
{
//显示饼状图
}
else if (_type == "line")
{
//显示折线图
}
}
}
- A. 开闭原则,迪米特法则
- B. 开闭原则,单一职责原则
- C. 单一职责原则,里氏代换原则
- D. 依赖倒转原则,合成复用原则
3、以下代码是对哪种设计模式的简化()
abstract class Product
{
public Product CreateProduct(string type)
{
Product product = default(Product);
switch (type.ToLower())
{
case "a":
product = new ProductA();
break;
case "b":
product = new ProductB();
break;
}
return product;
}
}
class ProductA : Product
{
}
class ProductB : Product
{
}
- A. 工厂方法模式
- B. 单件模式
- C. 简单工厂模式
- D. 抽象工厂模式
4、下列关于单例模式错误的说法是()。
- A. 为了防止在外部对其实例化,将其构造函数设计为私有。
- B. 在单例类内部定义一个Singleton类型的静态对象,作为外部共享的唯一实例。
- C. 在单例类的内部实现只生成一个实例,同时它提供一个静态的GetInstance()工厂方法,让客户可以访问它的唯一实例。
- D. 懒汉式单例类无须考虑多线程访问问题。
5、下面不属于创建型模式的有()
- A. 抽象工厂模式(Abstract Factory)
- B. 工厂方法模式(Factory Method)
- C. 适配器模式(Adapter)
- D. 单例模式(Singleton)
最后
以上就是谦让机器猫为你收集整理的【工程基础】校招研发工程师笔试题的全部内容,希望文章能够帮你解决【工程基础】校招研发工程师笔试题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复