software-design相关内容

CPP在主源文件中包含.cpp文件会导致&Quot;重复符号&错误

我一直纠结于如何将一个项目分成几个源文件和头文件。我目前的做法似乎是笨拙和错误的。欢迎提出任何意见! 我有四个文件: main.cpp是主程序。它将创建几个树节点,并调用一个函数来遍历它们。 TreeNode.h是我声明简单类的头文件TreeNode TreeNode.cpp是定义类的构造函数TreeNode 的地方 utils.cpp是我在TreeNode上定义的几个函数,比如 ..
发布时间:2022-04-20 12:06:54 C/C++开发

DDD:更新实体的多个属性的指南

因此,我决定学习DDD,因为它似乎可以解决我一直面临的一些架构问题。虽然有很多视频和示例博客,但我还没有遇到一个可以指导我解决以下场景的: 假设我有一个实体 public class EventOrganizer : IEntity { public Guid Id { get; } public string Name { get; } public Ph ..
发布时间:2022-03-14 15:06:39 C#/.NET

在UML用例中包含&;登录

我有一个基于帐号的系统,这意味着系统的每个功能都必须在登录后才能使用。另外,据我所知,在用例图中,如果没有包含的操作,我们就在基本用例中‘包含’一些东西。回到我的问题,我必须绘制上面提到的系统的用例图,既然系统的每个功能在登录后都可以使用,我是否必须在每个用例中‘包含’登录? 推荐答案 否。通常将“用户已登录”定义为用例“登录”的后置条件和其他用例的前提条件。 在用例社区中,对于 ..
发布时间:2022-03-10 09:16:01 其他开发

什么是多租户?实现多租户的途径是什么?

我读有关多租户的文章已经有一段时间了。下面这些非常琐碎的语句。我看过几十个链接和网站,但都很抽象。 ..其中软件的单个实例在服务器上运行并提供 多个租户。 我在30000英尺的高空就能很好地理解它,但我不能理解它的实现方式。 如果有人能用单个堆栈(只是技术上的)和一个例子(可能是Salesforce)来帮助我理解如何实现它,我会更满意,因为我几乎几天前就迫不及待地想知道了。 请 ..
发布时间:2022-02-26 17:37:10 其他开发

实用程序类是邪恶的吗?

我看到这个问题:If a "Utilities" class is evil, where do I put my generic code? 我想,为什么实用程序类是邪恶的? 假设我有一个具有数十个类深度的域模型。我需要能够对实例进行XML实例化。我是否要在父级上创建toXml方法?我要创建MyDomainXmlUtility.toXml帮助器类吗?这是业务需求跨越整个域模型的情况- ..
发布时间:2022-02-21 14:14:01 其他开发

一个用例可以包含和前置相同的其他用例吗?

让我们以登录和添加项目为例,作为项目管理系统的两个用例.客户的要求是:(他需要/想要:) 获得对系统资源的合法访问权; 添加项目(创建一个). 我们也知道未经身份验证的用户不应使用该系统! 我的问题是: 1) “获得访问权限"是一个用例吗?其他用例的先决条件 ?或两者 ?(知道通过将用例命名为“Gain Access"而不是“Logging in",我想强调需要而不是解决 ..
发布时间:2022-01-25 19:23:08 其他开发

前端和后端术语

在 ASP.Net 中设计 Web 应用程序时,我通常将项目分为两部分,后端(管理部分)和前端(访问者/搜索引擎优化部分).假设我的访问者可以登录网站并执行很多任务,例如填写个人资料、发送消息等. 那部分(经过身份验证的用户)为我寻找前端和后端之间的不同“层",并且有点难以定义是否是前端(为什么访问者/用户会处理它,但没有管理员)或如果是后端(为什么用户会主动在数据库中进行更改,如管理员,但 ..
发布时间:2022-01-19 13:14:53 C#/.NET

为每个类提取一个接口是最佳实践吗?

我见过这样的代码,其中每个类都有一个它实现的接口. 有时它们没有通用的接口. 它们就在那里,被用来代替具体的对象. 它们不为两个类提供通用接口,并且特定于该类解决的问题的领域. 有什么理由这样做吗? 解决方案 重温这个答案后,我决定稍微修改一下. 不,为每个类提取接口不是最佳做法.这实际上可能适得其反.但是,接口之所以有用有以下几个原因: 测试支持(模拟 ..
发布时间:2021-12-31 14:29:14 C#/.NET

如何在 C++ 中选择堆分配与堆栈分配?

将其与其他语言区分开来的 C++ 特性之一是能够将复杂对象分配为成员变量或局部变量,而不必总是使用 new 分配它们.但这会导致在任何给定情况下选择哪个的问题. 是否有一些很好的标准来选择如何分配变量?什么时候应该将成员变量声明为直接变量而不是引用或指针?什么时候应该使用 new 分配变量而不是使用分配在堆栈上的局部变量? 解决方案 将其与其他语言区分开来的 C++ 特性之一 ..
发布时间:2021-12-24 17:11:11 C/C++开发

实用程序类是邪恶的?

我看到了这个话题 如果一个 "实用程序类是邪恶的,我应该把我的通用代码放在哪里? 并想为什么实用程序类是邪恶的? 假设我有一个深度有几十个类的域模型.我需要能够 xml-ify 实例.我是否在父级上创建了一个 toXml 方法?我是否创建了一个 MyDomainXmlUtility.toXml 辅助类?在这种情况下,业务需求跨越整个域模型——它真的属于实例方法吗?如果应用的xml ..
发布时间:2021-12-22 08:43:08 其他开发

适配器 - 适配器模式的任何真实示例

我想向我的团队演示适配器模式的使用.我在网上阅读了很多书籍和文章.每个人都在举一个有助于理解概念的例子(形状、存储卡、电子适配器等),但没有真正的案例研究. 你能分享任何关于适配器模式的案例研究吗? 附言我尝试在 stackoverflow 上搜索现有问题,但没有找到答案,因此将其作为新问题发布.如果您知道已有答案,请重定向. 解决方案 Adapter 的许多例子都是微不足道的 ..
发布时间:2021-12-12 08:29:20 其他开发

什么是“编程接口,而不是实现"?意思是?

在阅读有关设计模式的内容时,会偶然发现这句话. 但是我不明白,有人可以为我解释一下吗? 解决方案 接口只是合同或签名,他们不知道任何关于实现的信息. 针对接口编码意味着,客户端代码总是持有一个由工厂提供的接口对象.工厂返回的任何实例都属于任何工厂候选类必须实现的接口类型.这样客户端程序就不用担心实现了,接口签名决定了所有的操作可以做什么.这可用于在运行时更改程序的行为.从维 ..
发布时间:2021-12-11 23:34:43 其他开发

在 Android 中使用 Fragments 而不是 Views 有什么好处?

在为 Android 开发时,您可以将目标(或最低)sdk 设置为 4(API 1.6)并添加 android 兼容包 (v4) 以添加对 Fragments.昨天我这样做并成功实现了 Fragments 来可视化来自自定义类的数据. 我的问题是:使用 Fragments 与简单地从自定义对象获取视图并仍然支持 API 1.5 相比有什么好处? 例如,假设我有类 Foo.java: ..

什么是 C# 中的属性访问器递归?

什么是 C# 中的属性访问器递归?我看到有关如何解决它的文章,但想要它是什么的纯技术定义. 有关如何解决此问题的资源: c# 属性设置器主体没有声明一个类级别的属性变量 解决方案 如果您将 getter 和 setter 视为方法(它们确实是后台的方法 - C# 只是对您隐藏了这一点),这会变得更加清晰. 无论何时检索属性的值,都是在调用 get 方法 每当你设置一个属 ..
发布时间:2021-11-24 19:52:02 C#/.NET

替代 Map of java.lang.Object

因此,我必须构建一个新的 Java 应用程序,并且有一个场景,我倾向于使用带有强制转换的对象映射.我只是不喜欢这个想法,但想不出更好的解决方案. 场景如下:我有一些用户输入以及一个定义要采取的操作的标签.首先,基于标签,用户输入将被丰富一个或多个对象,然后将其传递到验证器机器进行处理.这些验证器有些通用,因此它们可用于一个或多个标签.这就是 Map 的用武之地,它将是验证器的输入,因为它们知 ..
发布时间:2021-11-17 03:09:22 Java开发

讨论:您将在此解决方案中使用哪种设计模式?

我想设计具有以下解决方案的软件: 产品具有功能. 每种产品都有功能规则: 产品必须具有特性 a,b and d._ Product 必须至少有 x 个特征列表 f,g 和 m_ 产品的每个功能都有一个权重. 在运行时,我想使用外部输入(文件/用户输入)创建产品,并使用规则向产品添加功能em>. 我想询问每个产品,考虑到它的功能,它有什么分数以及缺少什么. 让我说明最后一点: ..
发布时间:2021-11-17 03:04:53 其他开发

支持和反对 Android SQLite 使用的论据

我不确定是否应该在我的 Android 程序中使用 Android SQLite 数据库. 该程序有几个表,我有查询、更新和显示这些表的操作.但是数据总量不是很大(最多可能有几十行). 有些人告诉我我不应该再使用数据库,因为将所有内容存储到平面文件中更容易实现,完成的实现更易于维护,并且数据库引擎可以由存储预加载的集合框架代替平面文件.这些人在决策方面有一定的权重,所以如果我还想使用数 ..
发布时间:2021-11-17 03:01:48 移动开发

您如何处理复合微服务请求中的验证?

考虑具有两个实体的应用程序: User(包含基本用户数据,如姓名) Passport(包含身份验证凭据,即密码) 还有两个内部微服务: UserService(负责创建和管理用户及其基本数据) AuthService(负责用户认证和密码处理) User 实体属于 UserService,Passport 实体属于 AuthService. 这两个服务应该分开,因为 ..

我应该如何组织代码的后端和前端?

我有一个项目,我为后端(Flask/Python)编写了大量代码,并为前端(Vue)编写了大量代码.到目前为止,它们一直是单独的文件夹/Github 存储库. 我想知道在 (1) Github 存储库和 (2) 文件结构方面将它们组合在一起的典型特征是什么.前端依赖于后端的一些功能,所以它们需要以某种方式链接,但是由于项目的两个方面都有很多代码,我认为将它们组合在一个 Github 下可能会 ..
发布时间:2021-11-17 02:53:56 其他开发