相关疑难解决方法(0)

"高凝聚力"是"单一责任原则"的同义词吗?

高内聚的代名词单一职责原则?如果没有,它们有何不同?

oop cohesion

15
推荐指数
2
解决办法
2925
查看次数

如何在类后面隐藏逻辑以提高方法的可读性并重构类以遵循SRP?

我有一种算法可以为实体创建一个版本,然后将其保存在下面的2个实体中:

1)变体

2)类别

interface IEntityVersion
{
    string GetVersion();
}

public class EntityVersion : IEntityVersion
{
    public string GetVersion()
    {
        return null;
    }
}

public interface IVariant
{
    void Process(Variant model, string connectionString);
}

public abstract class BaseVariant : IVariant
{
    private readonly IEntityVersion _entityVersion = new EntityVersion();

    public void Process(Variant model, string connectionString)
    {
        try
        {
            Transform();
            string variantVersion = _entityVersion.GetVersion();
            using (var myConnection = new SqlConnection(connectionString))
            {
                myConnection.Open();
                using (var transaction = myConnection.BeginTransaction())
                {
                    try
                    {
                        VariantRepo.UpdateVariantVersion(
                          myConnection,
                          transaction, …
Run Code Online (Sandbox Code Playgroud)

.net c# refactoring single-responsibility-principle

9
推荐指数
1
解决办法
382
查看次数

单一责任原则的范围是什么?

今天我工作的另一位工程师问我“这是什么责任?” 我的回答如下:

“您的代码的每个范围,无论是if语句,函数,类还是模块,都应该有一个更改的理由”。

但是,在我读到的所有这篇文章中,人们都是在课堂上谈论的。我告诉他SRP适用于他的代码中的每个范围,我错了吗?

oop single-responsibility-principle solid-principles

5
推荐指数
1
解决办法
122
查看次数

在客户端 - 服务器的三层软件架构中封装层

客户端 - 服务器范例的三层软件体系结构有三个不同的层:

  1. 表示层 - 用户可以直接访问的层,例如UI或网页.也称为客户端.

  2. 应用层 - 该层封装业务逻辑(如业务规则和数据验证),域概念,数据访问逻辑等.也称为中间层.

  3. 数据层 - 用于存储应用程序数据的外部数据源,例如数据库服务器.

为什么将单独层的逻辑封装在单独的软件模块中是有利的?

encapsulation distributed-computing

1
推荐指数
1
解决办法
564
查看次数