我有一种算法可以为实体创建一个版本,然后将其保存在下面的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) 今天我工作的另一位工程师问我“这是什么责任?” 我的回答如下:
“您的代码的每个范围,无论是if语句,函数,类还是模块,都应该有一个更改的理由”。
但是,在我读到的所有这篇文章中,人们都是在课堂上谈论的。我告诉他SRP适用于他的代码中的每个范围,我错了吗?
客户端 - 服务器范例的三层软件体系结构有三个不同的层:
表示层 - 用户可以直接访问的层,例如UI或网页.也称为客户端.
应用层 - 该层封装业务逻辑(如业务规则和数据验证),域概念,数据访问逻辑等.也称为中间层.
数据层 - 用于存储应用程序数据的外部数据源,例如数据库服务器.
为什么将单独层的逻辑封装在单独的软件模块中是有利的?