设计原则/single-responsibility-principle/Sum.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
namespace DesignModeConsole.SolidPrinciple.single_responsibility_principle
{
/// <summary>
/// 正方形
/// </summary>
internal class Square
{
public Square(double length)
{
SideLength = length;
}
public double SideLength { get; init; }
}
/// <summary>
/// 圆形
/// </summary>
internal class Circle
{
public Circle(double radius)
{
Radius = radius;
}
public double Radius { get; init; }
}
#region 错误设计
/// <summary>
/// 错误的设计 因为既计算的所有形状的面积之和,又处理了输出数据的格式
/// </summary>
internal class AreaCalculator
{
private List<object> _shapes;
public AreaCalculator(List<object> shapes)
{
_shapes = shapes;
}
/// <summary>
/// 计算所有形状的面积总和
/// </summary>
/// <returns></returns>
public double Sum()
{
List<double> areas = new List<double>();
foreach (var item in _shapes)
{
if (item is Square s)
{
areas.Add(Math.Pow(s.SideLength, 2));
}
后面还有 81 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。