Best way to store Badge criteria?

Rules. You create events in the system, and use rules within an event stream processor. Specifically, say you have a badge “made 10 posts”. You don’t run “select count(*) from posts where user = :user” for every post. Rather, you have a simple rule that watches each post come by, and “count them”, storing the … Read more

Microservices – best practices to retrieve the related data to specific user from the other micro services with the minimal memory/time loss

Let’s say you have services: MS1, MS2, MS3, MS4. The web app / mobile app hits MS1 for information. Now MS1 needs to return a response containing data that are managed by MS2, MS3 and MS4. Poor Solution – MS1 calls MS2, MS3 and MS4 to retrieve information, aggregates them and returns the final aggregated … Read more

Servicestack – architecture & reusing POCOs for everything

Software’s biggest enemy Firstly I want to iterate that Complexity and Large Code bases is the single worst enemy of software development, and that along with meeting the project requirements (i.e. deriving value from our software), managing complexity and maintaining a minimal and low friction, evolvable code-base should be at the forefront of our minds … Read more

What is N-Tier architecture?

Wikipedia: In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client-server architecture in which, the presentation, the application processing and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use … Read more

Domain Driven Design: Domain Service, Application Service [closed]

Services come in 3 flavours: Domain Services, Application Services, and Infrastructure Services. Domain Services : Encapsulates business logic that doesn’t naturally fit within a domain object, and are NOT typical CRUD operations – those would belong to a Repository. Application Services : Used by external consumers to talk to your system (think Web Services). If … Read more