architecture 相关问题

架构包含解决方案的流程,工件和高级结构。


如何组织大量的结构,其中有功能参考?

我提出了一些想法,如何组织文件,但是所有这些都有一些缺点,这(恕我直言)会导致可维护性或可移植性的问题。 我将在所有示例中使用此定义:

回答 1 投票 0

回答 3 投票 0

您可以在PHP中执行建筑层依赖性吗? llet说我有一个简单的多层架构,用于应用程序。典型的层可能是(从底部开始,从事我们的发展):核心 / utils,实体 /数据,业务逻辑和UI。

如果我在Java工作,这是我更熟悉的语言,通常我会使用Eclipse和Maven。每一层都是一个单独的项目,并会产生一个JAR文件。层将通过类路径相互取决于彼此。例如,业务逻辑层(或项目)将具有可用的util和实体jar文件,而不是UI。如果我错误地在“向上”方向上创建了一个依赖性,则IDE会将其标记为问题,并且代码不会编译。

回答 2 投票 0



为什么双重价值在分配后似乎会更改?

以下程序的结果对我的机器上有些奇怪。 #include 使用名称空间性std; int main(){ 双a = 20; 双b = 0.020; 双C ...

回答 1 投票 0

文字冒险的游戏设计和建筑建议

任何评论将不胜感激。

回答 5 投票 0

设计模式和工具,用于向不同的处理器派遣大量记录和文件作者

任务是每天循环浏览大量的交易记录,例如每天20亿,并通过其卡类型(Visa,MasterCard等)进行各种记录,以进行不同的处理,并最终WR ...

回答 1 投票 0

 display一个更改资源状态的按钮,仅在DB中有记录我们具有状态=有效且开放=true

创建基于硬编码查询的true/false的API似乎不是一个很好的解决方案,因为它根本不灵活并且不适合休息,因为它不能代表资源上的动作.

回答 1 投票 0

如何从输出模式中的快照来得出历史记录?

有人可以提供有关如何有效实现这一目标的建议或最佳实践吗?谢谢!

回答 0 投票 0

什么是个人发展的有效扑动架构模式?

我已经与Flutter合作了大约两年,我目前正在寻找一种与我的个人开发需求相吻合的建筑模式。我特别在寻找优先级的模式:

回答 2 投票 0

如何在单页中制作多个序列图

我想知道是否有任何方法可以在单页中并排制作 plantuml 两个序列图。我想在两个图中保留相同的演员姓名。目前,如果我做如下的事情,它

回答 3 投票 0

带有后台音频播放器的干净的 flutter BloC 结构

我是 Flutter 和应用程序编程的新手,目前正在深入研究 Bloc 概念。 我的项目是一个具有后台播放能力的音频播放器。 我使用 just_audio、audio_service 和 flutter_bloc 是

回答 1 投票 0

API网关在微服务安全中的作用

我是微服务和系统设计的新手,我正在尝试了解API网关在身份验证和授权中的作用。 我遇到了两种不同的方法,每种方法都有其优点...

回答 1 投票 0

UI - 逻辑交互:一次抢占式呼叫还是许多小型即时呼叫?

我正在编写一个小型国际象棋游戏。我有一个棋盘,上面有一些棋子。在悬停一块时,我想展示您可以移动到的潜在位置。 我一直在考虑 UI,我可以看到......

回答 1 投票 0

每个架构单独构建,但生成的 APK 文件是相同的?

我希望为每个架构单独构建,并分别分发它们。所以我做了一些研究,例如查看了 Android - 为不同的处理器架构构建单独的 APK...

回答 1 投票 0

如何为 phpunit 测试用例分组/重用/混合自定义断言类?

我知道可以通过扩展默认测试用例来添加自定义断言,例如我添加了断言来检查数组是否只包含一个特定值: 我知道可以通过扩展默认的TestCase来添加自定义断言,例如我添加了断言来检查数组是否只能包含一个特定值: <?php namespace Kopernikus\TimrReportManager; use PHPUnit\Framework\TestCase; abstract class ArrayContainsValueTestCase extends TestCase { public static function assertArrayOnlyContainsTrue(array $haystack): void { static::assertArrayOnlyContainsSameValue(true, $haystack); } public static function assertArrayOnlyContainsSameValue(mixed $expectedValue, array $haystack): void { $haystack = array_unique($haystack); static::assertTrue(static::areOnlySameValuesInArray($expectedValue, $haystack), message: 'The array contains of different values, yet sameness was expected'); } private static function areOnlySameValuesInArray(mixed $expectedValue, array $haystack): bool { $haystack = array_unique($haystack); if (count($haystack) !== 1) { return false; } return reset($haystack) === $expectedValue; } public static function assertArrayOnlyContainsFalse(array $haystack) { static::assertArrayOnlyContainsSameValue(false, $haystack); } } 这是一个与领域非常不可知的断言。 我想要构建的其他自定义断言更多地与项目的域相关,例如我创建了一个断言来检查自定义 TimeEntry 值对象是否包含一个特定的数字票证 ID,并且该对象应该存在于自己的类中: <?php namespace Kopernikus\TimrReportManager; use Kopernikus\TimrReportManager\Dto\TimeEntry; use PHPUnit\Framework\TestCase; abstract class TimeEntryTestCase extends TestCase { public static function assertTimeEntryHasTicketId(TimeEntry $timeEntry, int $ticketNumber) { $ticketNumberHashtag = '#' . (string)$ticketNumber; $count = substr_count($timeEntry->description, '#'); static::assertSame(1, $count, 'the time entry must only contain one hashtag for the ticket id'); static::assertSame($timeEntry->ticket, $ticketNumberHashtag); } } 假设我有一个测试班,MyTestThatRequiredBothAssertions。我可以通过以下方式实现: ArrayContainsValueTestCase extends TestCase TimeEntryTestCase extends ArrayContainsValueTestCase MyTestThatRequiredBothAssertions extends TimeEntryTestCase 然而,并非每个实际的 TimeEntryTestCase 都需要 ArrayContainsValueTestCase 提供的断言。 我还计划创建几个自定义断言,而不仅仅是两个,因此继承树似乎可能会失控。 我宁愿这样做: abstract class ArrayContainsValueTestCase extends TestCase abstract class TimeEntryTestCase extends TestCase 并且想在特定的测试用例中使用它们,如下所示: class MyTestThatRequiredBothAssertions extends ArrayContainsValueTestCase, TimeEntryTestCase 并根据需要添加更多测试用例,但 php 只允许扩展一个类,所以这是行不通的。 我还缺少另一个解决方案来区分这里的问题吗? 我可以以不同的方式提供自定义断言,同时保留测试类中方法的 IDE 支持(自动完成方法名称及其参数值)吗? 我想要有多个类定义自定义断言,所以将它们全部放在一个文件中不是我想做的事情。 其中每一个最多只能扩展默认的 TestCase 类,但我希望能够自由地将它们相互混合。 仅当 SpecificTestCase 依赖于另一个 CustomTestCase 的断言时,我才可以接受它们相互依赖。 我也考虑过使用特征,但特征不能扩展另一个类,所以: trait MyCustomAssertion extends TestCase { } 也是不允许的。 这个问题肯定也会对 PhpUnit 的原始设计产生一些影响。它同样受到 PHP 的单继承规则的限制,在其早期版本中,PHP 中甚至没有通常用于处理您现在描述的钻石问题的特征。 鉴于关于特征可扩展性的假设并没有最终解决作为早期的困惑,并且你仍然不想在这里使用特征,你可以看看断言是如何在 PHP 单元本身中实现的。 每个断言至少有一个类,即我如何阅读你的问题,你努力的方向。

回答 1 投票 0

laravel/vue 设计:当 laravel 处理作业时处理 SPA 上的加载程序的不同方式

这是一个设计问题,虽然我是一个全栈开发人员,但我在前端用户体验方面比较弱: 我正在使用 Inertia 和 Vue 创建一个 Laravel 应用程序,其中每个用户都有作品集。投资组合相关...

回答 2 投票 0

laravel/vue 设计:在 laravel 处理作业时处理 SPA 上的加载程序的最佳方式

这是一个设计问题,虽然我是一个全栈开发人员,但我在前端用户体验方面比较弱: 我正在创建一个 laravel/Inertia/vue 应用程序,其中每个用户都有作品集。 投资组合依赖于计算...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.