Kyle Boon
Lead engineer
Kyle Boon
// no container
class Engine() { }
class Car(val e: Engine) { }
val engine = Engine()
val car = Car(engine)
// using a container
val injector = Injector()
injector.register(Engine)
injector.register(Car)
val car = injector.getInstance(Car)| Library | Use |
|---|---|
| OkHTTP | HTTP Client |
| HTTP4k + undertow | HTTP server |
| Jackson | json parsing |
| lightbent/config | configuration |
| LMAX Disrupter + native kafka client | kafka consumption and production |
| micrometer | metrics |
| RocksDB | persistence |
| kotest + junit | testing |
The main method becomes the composition root.
This is usually the longest bit of code in your application, it's where you instantiate objects and start threadpools.
| markdown-loader | 567 |
| markdown-transformer | 831 |
| item-location-reducer | 3151 |
| delivery-schedule-loader | 1199 |
| spu-transformer | 674 |
| item-node-relationship-transformer | 886 |
| item-node-topology-transformer | 1473 |
| end-of-season-transformer | 648 |
| optimizer-wrapper | 5739 |
| delivery-schedule-transformer | 675 |
| policy-transformer | 3520 |
| transfer-pack-loader | 1383 |
| item-network-reducer | 3784 |
| air-forecast-loader | 395 |
| lead-time-transformer | 2094 |
| item-node-topology-loader | 1382 |
| sellable-item-arc-transformer | 1223 |
| end-of-season-loader | 980 |
| lead-time-loader | 1672 |
| frontloading-transformer | 834 |
| end-of-season-kafka-transformer | 609 |
| item-node-relationship-loader | 998 |
| demand-curve-coverage-transformer | 747 |
| transfer-pack-transformer | 627 |
| frontloading-loader | 460 |
| end-of-season-kafka-loader | 401 |
| demand-curve-coverage-loader | 1040 |
| air-forecast-transformer | 2809 |
| spu-loader | 412 |
| commons | 2056 |
| config | 199 |
| http4k | 1987 |
| kafka | 6124 |
| metrics | 393 |
| storage | 1426 |
| test-commons | 841 |
| test-kafka | 807 |
How Much Code Is It?
By Kyle Boon