Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns Rehash:会计软件设计模式_Design Patterns_Accounting - Fatal编程技术网

Design patterns Rehash:会计软件设计模式

Design patterns Rehash:会计软件设计模式,design-patterns,accounting,Design Patterns,Accounting,早在十月份,克里斯托弗·约翰逊就曾询问过 他收到了好几个答案,但基本上都是一样的,都指向了他 我真的不觉得Fowlers模式有多有用。对于一个更简单的会计系统来说,它们似乎过于复杂了,所以我重新考虑克里斯托弗的问题,寻找更多的选择,最好是较小的系统 这将主要是一个基于现金的系统,在该系统中,用户可以获得类似于银行的账户。他们可以登录(基于web)并检查余额、进行某些交易等 我想它更像贝宝或信用卡公司,而不是银行,但规模较小。它不必处理税收、分期付款或任何你在成熟的会计系统中看到的事情。只有余额和

早在十月份,克里斯托弗·约翰逊就曾询问过

他收到了好几个答案,但基本上都是一样的,都指向了他

我真的不觉得Fowlers模式有多有用。对于一个更简单的会计系统来说,它们似乎过于复杂了,所以我重新考虑克里斯托弗的问题,寻找更多的选择,最好是较小的系统

这将主要是一个基于现金的系统,在该系统中,用户可以获得类似于银行的账户。他们可以登录(基于web)并检查余额、进行某些交易等

我想它更像贝宝或信用卡公司,而不是银行,但规模较小。它不必处理税收、分期付款或任何你在成熟的会计系统中看到的事情。只有余额和交易

那么,有没有人能为基于会计的软件设计或甚至是简单会计系统的良好实现提供更多的资源呢?

将货币存储为美分(整数)而不是美元(浮动)。这不是设计,但可能更有用。

这本身不是一个设计模式,但您需要确保 “将美元金额从$account1转账到$account2”在没有匹配的“存款”的情况下,切勿“提款”。。。i、 e.如果在“存款”完成之前断电,“取款”将回滚(撤消)

可提交事务由可撤消(可回滚)子事务组成

  • 获取所需权限:微不足道的拒绝,“不足” “资金”
  • 启动“两阶段提交”
  • 添加子事务处理
  • 提交或回滚
  • 警告:BCD数学的发明是为了防止10进制数学中的舍入错误。你没有提到国际问题,但你需要定点或“大精度”的数学、货币转换,以及所有其他……福勒的模式并不太复杂。它们是关于需要什么的。你不可能在不与最终用户或会计发生冲突的情况下构建更简单的东西

    那么,有没有人可以为基于会计的软件设计或简单会计系统的良好实现提供更多的资源

    这看起来对你的需要很有帮助。它提供了一个基本的交易和平衡框架。它有意地简单和抽象,因此可以提供有用的设计见解,特别是如果您想测试新颖的想法

    更实用。它包括用户帐户和交易

    是另一个开源银行系统,支持用户银行账户和基于web的访问。它可以用于虚拟货币和真实货币

    所有这些都是开源的,因此您可以直接查看文档、体系结构和代码


    另一方面,如果你真的只对余额和交易感兴趣,那么听起来任何与声誉、业力或积分系统相关的模式或项目都可能有相关的重叠…

    当我实施会计时,这是日记账、交易和账户以及账户类型的典型模式

    tblTransactions
        - Amount
        - AccountID1
        - AccountID2
        - Type [CR/DR]
        - DateEntered
    
    然后我还有一个
    tblJournals
    ,它根据明显的基础对交易进行分组。您还可以添加JournalTypes,它包含对日志类型的一般描述,这样您就可以检测到好的东西(混响等)

    这很好,因为在这个模型下,反转是微不足道的。您只需收集日志的所有事务,然后交换类型

    tblTransactions有一个触发器,该触发器根据特定帐户的类型更新“CalculatedBalance”。然后还可以在给定的时间段内运行报告,依此类推


    实现这一点不需要太多的会计知识,而且简单有效。

    我目前不关心实现细节。我想要designpatterns.int是一场即将发生的灾难。为什么不改用十进制数据类型呢?。int代表货币不仅仅是一种混淆——你有多少个小数点。除非你总是四舍五入到整分钱,否则你需要某种因子来除以小数点位。当你把货币换成日元、英镑、欧元时会发生什么?我几乎没有会计知识,所以即使是“日记账”对我来说也是一个陌生的概念。我了解软件中的日志是什么,通常是fileysystem(一个在发生故障时可以重放的事务日志)。。。我假设日记账与此类似。日记账只是一个指向一系列交易的指针,带有一些附加信息。因此,它可能包含日期、描述和“类型”。类型是指所有基础事务正在执行的操作。退款,无论什么(您可以在您的系统中进行补偿)。您可以通过“tblJournalTransactions”(将多笔交易映射到一份日记账)之类的表来映射它们。免费数字货币项目网站已无法访问。MyBanco链接也无法工作。Cyclos现在指向一个似乎有产品的商业网站。