<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blog.mmunir.dev</loc>
<lastmod>2026-04-03T16:12:41.536Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/understanding-geojson-a-complete-guide-to-representing-geographic-data-in-json</loc>
<lastmod>2022-05-24T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/interpreter-pattern-defining-a-grammar-and-interpreting-language-rules</loc>
<lastmod>2022-05-11T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/visitor-pattern-separating-operations-from-the-objects-they-work-on</loc>
<lastmod>2022-05-01T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/template-method-pattern-defining-the-steps-letting-subclasses-fill-in-the-details</loc>
<lastmod>2022-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/iterator-pattern-sequentially-accessing-elements-without-exposing-the-structure</loc>
<lastmod>2022-04-13T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/state-pattern-changing-behavior-when-state-changes</loc>
<lastmod>2022-04-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/memento-pattern-saving-and-restoring-object-state</loc>
<lastmod>2022-03-30T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/mediator-pattern-centralizing-communication-between-components</loc>
<lastmod>2022-03-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/chain-of-responsibility-pattern-passing-the-request-along-the-chain</loc>
<lastmod>2022-03-16T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/command-pattern-turning-requests-into-reusable-objects</loc>
<lastmod>2022-03-11T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/observer-pattern-keeping-everyone-in-the-loop</loc>
<lastmod>2022-03-03T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/flyweight-pattern-saving-memory-with-shared-objects</loc>
<lastmod>2022-02-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/proxy-pattern-controlling-access-like-a-middleman</loc>
<lastmod>2022-02-16T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/bridge-pattern-decoupling-abstraction-from-implementation</loc>
<lastmod>2022-02-12T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/composite-pattern-treating-groups-and-individuals-the-same</loc>
<lastmod>2022-02-04T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/facade-pattern-simplifying-complex-systems</loc>
<lastmod>2022-01-27T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/adapter-pattern-making-incompatible-interfaces-work-together</loc>
<lastmod>2022-01-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/prototype-pattern-cloning-objects-like-a-pro</loc>
<lastmod>2022-01-12T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/builder-pattern-step-by-step-object-construction</loc>
<lastmod>2022-01-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/abstract-factory-pattern-factories-making-factories</loc>
<lastmod>2021-12-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/decorator-pattern-adding-features-without-changing-the-core</loc>
<lastmod>2021-12-24T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/strategy-pattern-switching-algorithms-at-runtime</loc>
<lastmod>2021-12-15T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/factory-pattern-your-object-assembly-line</loc>
<lastmod>2021-12-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/singleton-pattern-one-instance-to-rule-them-all</loc>
<lastmod>2021-12-02T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/solid-principles-in-depth-the-dependency-inversion-principle-dip</loc>
<lastmod>2021-11-28T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/solid-principles-in-depth-the-interface-segregation-principle-isp</loc>
<lastmod>2021-11-14T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/solid-principles-in-depth-the-liskov-substitution-principle-lsp</loc>
<lastmod>2021-11-09T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/solid-principles-in-depth-the-open-closed-principle-ocp</loc>
<lastmod>2021-10-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/solid-principles-in-depth-the-single-responsibility-principle-srp</loc>
<lastmod>2021-10-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/message-delivery-semantics-in-event-driven-architectures</loc>
<lastmod>2021-10-06T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/the-outbox-pattern-reliable-messaging-in-microservices</loc>
<lastmod>2021-09-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/rethinking-data-a-deep-dive-into-event-sourcing-in-software-engineering</loc>
<lastmod>2021-09-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/understanding-cqrs-in-software-engineering-a-practical-guide</loc>
<lastmod>2021-08-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/distributed-transactions-2pc-saga-pattern</loc>
<lastmod>2021-08-18T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/database-per-service-a-core-principle-in-microservice-architecture</loc>
<lastmod>2021-08-10T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/breaking-the-monolith-a-pragmatic-guide-to-microservices-migration</loc>
<lastmod>2021-08-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.mmunir.dev/posts/why-microservices-and-event-driven-architecture-matter-a-beginner-s-guide</loc>
<lastmod>2021-07-31T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
