[MSTS23] 🔹Disentangling the Spaghetti Monster: How ECS Pattern Can Help 🔹Michael Yarichuk Are you afraid to improve some feature because it will surely create at least ten more bugs? Are you finding that fixing Null Reference Exceptions takes far longer than it should? Do bugs keep being reported faster than they are fixed? If so, you're not alone. Enterprise software is notoriously complex, with tangled codebases that are difficult and time-consuming to maintain. The result is often a "spaghetti monster" of code that takes increasingly more and more development time. In this talk, we'll discuss how the Entity-Component-System (ECS) pattern can help untangle this mess and make code maintenance more manageable. We'll take a look at the challenges of traditional enterprise programming and the cons of other architectural patterns like Model-View-Controller (MVC) and Model-View-Presenter (MVP). Then, we will take a look at the ECS pattern and how it can be used to separate concerns, reduce coupling and make the code more modular. We'll also discuss the benefits of using the ECS pattern, including improved scalability, flexibility, and maintainability. 🔗 https://lnkd.in/dSN8Emce
MS Tech Summit’s Post
More Relevant Posts
-
Day 44/180 ✅💯 #day44 #180daysofcode #hard 2 problem solved . Problem Statement : 1. Transpose of matrix 2. Spiral matrix .
To view or add a comment, sign in
-
#SurajitNandy #Tree #DSA #Programming #Coding Check for Balanced Tree Link: https://lnkd.in/gxHT2cTF '''class Node: # Constructor to create a new Node def __init__(self, data): self.data = data self.left = None self.right = None''' def is_balanced_util(root, res): if root is None: return 0 lh = is_balanced_util(root.left, res) rh = is_balanced_util(root.right, res) diff = abs(lh - rh) if diff > 1: res[0] = False return 1 max(lh, rh) #Function to check whether a binary tree is balanced or not. class Solution: def isBalanced(self,root): #add code here res = [True] is_balanced_util(root, res) return res[0]
To view or add a comment, sign in
-
Unit/Integration tests using *Fakes Classes* with Hilt/Dagger seemed seductive in theory but once we started to put them into practice, we saw the amount of boilerplate code needed to set up a simple test was crazy. For example, for a simple Feature module, we needed to set 19 fake classes to satisfy all the Dagger Dependencies, which the class that needed testing wasn't even using! So instead of all this nonsense, we went into mocking *without* Hilt/Dagger and we're very happy with how a test class looks now. This tip about Mokk should even improve our setup! 😎
Google Developer Expert I Senior Software Engineer I Fintech I Kotlin I Kotlin Multiplatform I TDD I KMP I Spring Boot
𝙏𝙚𝙨𝙩𝙞𝙣𝙜 𝙩𝙞𝙥: Instead of creating the object by yourself, you can use @𝙄𝙣𝙟𝙚𝙘𝙩𝙈𝙤𝙘𝙠𝙆𝙨 that will try to inject the mock dependencies.
To view or add a comment, sign in
-
Data Engineer @ Accenture | Scaler, Data Science, Machine Learning | Delhi University, Computer Science
Day 9 of 365 Days of Code 2024 Problem: Spiral Order Matrix I Explanation: This function, iterates over the matrix in a spiral pattern by maintaining four variables (left, right, top, bottom) that denote the current boundaries of the matrix. The boundaries are progressively moved inward after traversing each boundary. The loop terminates when these boundaries overlap, indicating that the spiral traversal is complete. #scalerdiscord #codewithscaler #365daysofcodescaler #365daysofcode
To view or add a comment, sign in
-
Google Developer Expert I Senior Software Engineer I Fintech I Kotlin I Kotlin Multiplatform I TDD I KMP I Spring Boot
𝙏𝙚𝙨𝙩𝙞𝙣𝙜 𝙩𝙞𝙥: Instead of creating the object by yourself, you can use @𝙄𝙣𝙟𝙚𝙘𝙩𝙈𝙤𝙘𝙠𝙆𝙨 that will try to inject the mock dependencies.
To view or add a comment, sign in
-
Have you noticed how everyone has an opinion about LSP - usually the strong one - yet hardly anyone can explain it clearly? It would sound even stranger if I told you that you can automate the verification of the Liskov Substitution Principle. That is how clear it is! Let me change that unfavorable situation by drawing you back to the fundamental principles of OOP. I will teach you how to formalize the definition of a type, either a class or an interface, to define the rules every subtype must satisfy. That will be the Liskov principle at work. With the abstract properties defined, every implementation of an interface and every subclass will always produce objects that are substitutable for objects of their parent type - just as the LSP would define them. https://lnkd.in/d8ymteRM
Master The L in SOLID
https://www.youtube.com/
To view or add a comment, sign in
-
#bouncebackchallenge Day 3 of #100daystocode Done some advanced patterns like 1.Hollow rhombus 2.Solid rhombus 3.Floyd's triangle and 01 triangle 4.butterfly pattern 5.Diamond etc... Made my basics strong and helped in improving my logical application of basics like loops and all. 👍
To view or add a comment, sign in
-
from scrappy code to understanding the essence of solid principles.
WTF is Solid Principles
link.medium.com
To view or add a comment, sign in
-
HTML || CSS || JAVASCRIPT || ANGULAR || SERVLET || JSP|| CORE JAVA || JDBC || SPRING MVC || SPRING JDBC ||SPRINGBOOT || REST API || SQL || Git || Github|| SDLC
Day 7 :🌱💡 Ambiguity problem and it's solution with constructor injection 💉 (with type, index attributes ) 👩💻In Spring, ambiguity problems typically arise when there are multiple beans that match a certain dependency injection point, causing confusion for the Spring container when it tries to resolve which bean to inject.🌱🖥📚 #ambiguityproblem #softwaredevelopment
To view or add a comment, sign in
-
Getting stronger is efficient and effective using The Strength Code Method. I explain how!
To view or add a comment, sign in
586 followers