设计原则/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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。