|
You are here |
softwarepatternsdemystified.wordpress.com | ||
| | | | |
sookocheff.com
|
|
| | | | | Microservices have become part of the software engineering cultural zeitgeist to the extent that alternative approaches to architecture and development are treated as somehow inferior. Given the challenges that running microservices present, I usually recommend beginning development of new projects and systems as a single deployable unit - the monolith. Sam Newman, in the book "Building Microservices", agrees with this approach. He recommends leveraging microservices only if you can become convinced of the benefits for your system, not as a default for every project. | |
| | | | |
effectivesoftwaredesign.com
|
|
| | | | | The most important principle in Software Engineering is the Separation of Concerns (SoC): The idea that a software system must be decomposed into parts that overlap in functionality as little as possible. It is so central that it appears in many different forms in the evolution of all methodologies, programming languages and best practices. Dijkstra... | |
| | | | |
jmmv.dev
|
|
| | | | | Dependency injection is one of my favorite design patterns to develop highly-testable and modular code. Unfortunately, applying this pattern by taking Rust traits as arguments to public functions has unintended consequences on the visibility of private symbols. If you are not careful, most of your crate-internal APIs might need to become public just because you needed to parameterize a function with a trait. Let's look at why this happens and what we can do about it. | |
| | | | |
theincredibleholk.org
|
|
| | | As I've written about before, one of the major features we're working on adding to Rust is to allow async functions in traits. Today we have support in nightly ... | ||