翻译水平有限,见谅! Uncle Bob 13 Aug 2012 Architecture Craftsmanship Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: 在过去的几年里,我们已经看到了关于系统架构的一系列想法,包括: Hexagonal Architecture (a.k.a. Ports and A…
以下是链接来自singer 团队的实践,很不错,值得学习 参考连接 https://www.stitchdata.com/blog/100-billion-records-later-refining-our-etl-service/ https://stackshare.io/stitch/how-stitch-consolidates-a-billion-records-per-day https://www.stitchdata.com/blog/building-stitch/…
原文在:http://tech.ddvip.com/2010-04/1271054623150507.html 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor Menu)和上下文菜单(Context Menu).在 Eclipse 中,几乎所有的 Workbench Part 提供了人性化的菜单,大大方便了用户的操作.因此,如何扩展 Eclipse 的菜单功能,并实现特定…
https://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples…
SBCL编译过程 - O.Nixie的专栏 - 博客频道 - CSDN.NET PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia).据说yEd也很不错.…
C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C#为什么没有这个关键字呢?怎么实现这个功能?其实C#只是没有了这个关键字,但是功能是能实现的,而且也是非常方便,并且是安全的.网上有人用StructLayout特性来实现union,也确实是实现了一些功能.比如:C/C++:    union {        unsigned char ch    …
我使用Go和gRPC创建了一个微服务,并试图找出最佳的程序结构,它可以用作我未来程序的模板. 我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同.我写了一系列关于在项目工作中做出的设计决策和取舍的文章. 这是其中的第一篇, 是关于程序结构的. 程序结构的资源 Go的标准程序结构的最佳资源可能是Github上的标准Go程序结构¹,但它不适合我的项目.在阅读了Sylvain Wallez的文章²之后,我终于得到了一些关于其背后原因的信息. Go起初是专为API和网络服务…
为了支持业务层中的事务,我试图在Go中查找类似Spring的声明式事务管理,但是没找到,所以我决定自己写一个. 事务很容易在Go中实现,但很难做到正确地实现. 需求: 将业务逻辑与事务代码分开. 在编写业务用例时,开发者应该只需考虑业务逻辑,不需要同时考虑怎样给业务逻辑加事务管理.如果以后需要添加事务支持,你可以在现有业务逻辑的基础上进行简单封装,而无需更改任何其他代码.事务实现细节应该对业务逻辑透明. 事务逻辑应该作用于用例层(业务逻辑) 不在持久层上. 数据服务(数据持久性)层应对事务逻辑透…
我用Go和gRPC创建了一个微服务项目,并试图找出最好的程序结构,它可以作为我其他项目的模板.我还将程序设计和编程的最佳实践应用于Go Microservice程序,例如清晰架构(Clean Architecture),依赖注入(Dependency Injection),日志记录,错误处理等.我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同.我写了一系列关于在项目工作中做出的设计决策和取舍的文章. 阅读这些文章不需要熟悉Go,但如果你有Go基础绝对会有帮助.如果…
我使用Go和gRPC创建了一个微服务,并将程序设计和编程的最佳实践应用于该项目. 我写了一系列关于在项目工作中做出的设计决策和取舍的文章,此篇是关于程序设计. 程序的设计遵循清晰架构(Clean Architecture)¹. 业务逻辑代码分三层:用例(usecase),域模型(model)和数据服务(dataservice). 有三个顶级包"usecase","model"和"dataservice",每层一个. 在每个顶级包(模型除外)中只有…