Skip to content

Rejke/MindBoxTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Вычисление площади фигуры без знания типа фигуры

Что касается этого пункта, то можно рассмотреть два варинта:

  • Создание нового класса, где в конструктор можно передавать массив параметров
public UnknownShape(params double[] dims)
{
	Dimensions = dims.ToList().AsReadOnly();
}

Стоит заметить, что конечный пользователь должен сам понимать какие измерения стоит перемножать, и передавать именно их в конструктор.

  • Создать статичный метод в абстрактном классе (Shape)
public static double CalculateArea(params double[] dims)
{
	if (Array.TrueForAll(dims, double.IsNormal) && dims.All(x => x > 0))
	{
		return dims.Aggregate(1.0, (current, dim) => current * dim);
	}
	
	throw new ArgumentException("The provided dimensions are invalid.");
}

Идеи

В данный функционал, на мой взгляд, можно добавить еще пару фич:

  • Сделать свои Exception'ы, которые будут более точно описывать ошибку (валидировать данные)
  • Перегрузить метод, если выбирать второй вариант (Создание статичного метода в абстрактном классе (Shape))
  • Добавить больше Shape'ов, больше конструкторов в уже имеющиеся (вычисление площадей исходя из других данных)
  • Мне кажется, что можно сделать вычисление анонимной фигуры на делегатах (delegate, Func<T>, Action<T>)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published