12 ms·
Wonder if they have some source code examples, this also seems very similar to DDD.
by aprdm 7y ago
Wonder if they have some source code examples, this also seems very similar to DDD.
- manigandham 7y agoHexagonal, Domain-driven, Onion, Clean architecture are all synonyms at this point. Core libraries for shared utilities and domain objects, next layer is business logic, then outer layer of interfaces to everything else like databases and webservers.
- rumanator 7y ago> Hexagonal, Domain-driven, Onion, Clean architecture are all synonyms at this point. There are important differences between, say, hexagonal architecture and clean architecture. For instance, in clean architecture, what the Netflix guys described as repositories would actually be the data source itself and represent yet another interface on the system's outer layer. Additionally, what the Netflix guys described as interactors would actually be the application layer, and it would be the only layer above the entity layer (i.e., activities don't depend on data source components)
- m2mdas2 7y agoI have been following hexagonal architecture recently, found some good references, * This article https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/ https://herbertograca.com/2017/11/16/explicit-architecture-0... have detailed explanation on the components of hexagonal architecture. * There is COLA framework https://github.com/alibaba/COLA https://github.com/alibaba/COLA based on spring boot from Alibaba. Description is in Chinese but google translate does good enough translation. There is some pretty interesting things happening in Chinese universe that are hidden for language barrier. * Another sample application in .NET https://github.com/kgrzybek/modular-monolith-with-ddd https://github.com/kgrzybek/modular-monolith-with-ddd which gives good overview of code architecture.
- vosper 7y ago> There is some pretty interesting things happening in Chinese universe that are hidden for language barrier. Are there any other things you can point to that you think are overlooked?
- m2mdas2 7y agoI occasionally check trending repositories of chinse language in github https://github.com/trending?spoken_language_code=zh https://github.com/trending?spoken_language_code=zh and github repositories of Alibaba, tencent etc. From the look of it they are very focused on tooling/tutorials on highly salable distributed systems architecture. Java is very popular and spring cloud is their preferred choice. One thing I found interesting is that hibernate ORM is not used anywhere, instead they prefer MyBatis data mapper framework. Some of those projects are moved to apache foundation. On top of my head I found these projects interesting, * Dolphin Scheduler https://github.com/apache/incubator-dolphinscheduler https://github.com/apache/incubator-dolphinscheduler * Echarts https://github.com/apache/incubator-echarts https://github.com/apache/incubator-echarts * Ant Design https://ant.design/ https://ant.design/ * Sky walking APM https://github.com/apache/skywalking https://github.com/apache/skywalking * Seata distributed transaction system https://github.com/seata/seata https://github.com/seata/seata * EasyTransaction distributed transaction system https://github.com/QNJR-GROUP/EasyTransaction https://github.com/QNJR-GROUP/EasyTransaction * EShop-SOA https://github.com/songxinjianqwe/EShop-SOA https://github.com/songxinjianqwe/EShop-SOA * RocketMQ https://github.com/apache/rocketmq https://github.com/apache/rocketmq * Sharding Sphere https://github.com/apache/incubator-shardingsphere https://github.com/apache/incubator-shardingsphere * Jeecg-Boot https://github.com/zhangdaiscott/jeecg-boot https://github.com/zhangdaiscott/jeecg-boot * SOFA Stack https://github.com/sofastack https://github.com/sofastack * Dubbo RPC framework https://dubbo.apache.org/en-us/ https://dubbo.apache.org/en-us/ . Also it seems that every big companies in China have their own RPC framework.
- deleted 7y ago[deleted]
- hinkley 7y agoHmm. Maybe Webstorm 2021.1 should have comment translation as a feature.
- charlieflowers 7y agoAlso called "Functional Core, Imperative Shell." Good talk: https://www.destroyallsoftware.com/talks/boundaries https://www.destroyallsoftware.com/talks/boundaries
- insulanian 7y agoIt's a well established software architecture approach, especially in the enterprise software area. It works well with OOP as well as with FP. Highly recommend it.
- dangets 7y agoMicrosoft also published a good series of articles on DDD / CQRS / Hexagonal architectures [1]. I especially like the diagrams of dependencies between layers on that linked page. [1] https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice https://docs.microsoft.com/en-us/dotnet/architecture/microse...
- orthoxerox 7y agoI prefer to have an additional layer that is usually called the service layer. You use it to express and orchestrate the actions of your application without hard dependencies on specific tech. So the application layer is the one that manages specific dependencies and injects them into the service layer and the service layer then goes: - okay, when asked to disburse a loan - I construct a domain object for the loan - If the object is valid, I make a sync call to deposit the money - I then persist the loan - I then send a notification that a loan is disbursed And it doesn't really know how the RPC, the notification, or the persistence layer actually work.