{
    "componentChunkName": "component---packages-blog-gatsby-blog-core-src-templates-post-js",
    "path": "/factory-design-pattern-in-python/",
    "result": {"data":{"post":{"id":"c21a2e38-b56e-5e0f-abc6-5cff1879670f","title":"Factory Design Pattern in Python","slug":"/factory-design-pattern-in-python/","link":null,"excerpt":"Abstract Keywords: Design pattern, Factory Design Pattern in Python, Creational Design Pattern…","tableOfContents":{"items":[{"url":"#abstract","title":"Abstract"}]},"timeToRead":3,"featured":null,"protected":null,"thumbnailText":null,"date":"July 29, 2020","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Factory Design Pattern in Python\",\n  \"date\": \"2020-07-29T00:00:00.000Z\",\n  \"category\": \"Software Architecture\",\n  \"tags\": [\"design pattern\", \"factory design pattern\", \"creational design pattern\", \"software design\"],\n  \"thumbnail\": \"task.png\",\n  \"author\": \"Suresh Kumar Mukhiya\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"abstract\"\n  }, \"Abstract\"), mdx(\"div\", {\n    style: {\n      \"backgroundColor\": \"#f1f0f0\",\n      \"color\": \"rgba(0, 0, 0, 1)\",\n      \"padding\": \"1rem\",\n      \"fontStyle\": \"italic\",\n      \"textAlign\": \"justify\"\n    }\n  }, \"In this article, we will discuss about design patterns in brief and discuss one of the creational design pattern named as Factory Method Design Pattern. We will discuss when it is relevant to use Factory Design pattern and when it is not. Finally, we will implement a use case scenario for Factory Design Pattern in Python 3.\"), mdx(\"h4\", {\n    \"id\": \"keywords\"\n  }, \"Keywords:\"), mdx(\"p\", null, \"Design pattern, Factory Design Pattern in Python, Creational Design Pattern, Example of Factory Design pattern in Python\"), mdx(\"h3\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"Design patterns define tried and tested solutions to various recurring problems in software development. Broadly, design patterns are divided into \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"creational patterns\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"structural patterns\"), \", and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"behavioral patterns\"), \".\"), mdx(\"h4\", {\n    \"id\": \"why-should-we-use-design-pattern\"\n  }, \"Why should we use design pattern?\"), mdx(\"p\", null, \"In a nutshell, Design pattern provides two major benefits: a) They provide a mechanism to solve issues related to software development using a proven solution, b) the solution facilitates the development of highly cohesive modules with minimal coupling. Here are the list of other benefits of design patterns in general:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Design pattern give the developer a selection of tried and tested solution to work with.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They are independent of any programming language. Hence, it can be applied to any programming languages that support OOP paradigm.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They have a proven track record as they are already widely used and thus reduce the technical risk of the project.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They are flexible and can be used practically in any type of application domain.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They help in communication as they are well documented and can be researched if that is not the case.\")), mdx(\"p\", null, \"The \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Factory Method Design Pattern\"), \" is a type of creational design pattern. And in this article, we will discuss in detail about it.\"), mdx(\"h3\", {\n    \"id\": \"example-implementation\"\n  }, \"Example implementation\"), mdx(\"p\", null, \"Consider a use case from a software that I have been developing for Internet-Delivered Psychological System (IDPT). Generally, consider it as a typical CMS system where, an object \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Task\"), \" can be \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"audio\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"video\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"text\"), \". Check the UML diagram given below:\"), mdx(\"span\", {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"558px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"60.70175438596491%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACFElEQVQoz3WSW3PTMBBG8/9/EAOUy1uBpoFOCU3T5mLHtmzJullyksLLYaSUITDwcEZaafebvU1c3PM3NoyZdDdDwIaIHQIujv/wjbgYTz4hMvmfUL7HI96X3M8vqIoPGG/QPqL9gBki2lm2q0s+X79gMb+g1yWTPwTOSNnYcET3C57ClGiuEF2NHsacddUqKlET7IzjMOPgrzBmcxI8zywJ+fGQ0++0ZVM80nZr6mZF3bb0bsA9+yfhXldoU+XsetufSvbjERcPKDtg44FG6pxB3Sk67en9mN97HzFhn/3MMOYYv/+OH7/j9z9w8cjEeEenWqSWFNWOXV1SVgW7pqZua9bFCuMtynrW2zWia2iVoKhK2t7k2K4/YbxnEkJJvX2HEp8w+oFy/T7j3Yq2/shq8RLvNphwQFTXrO5fsXl4jeq+ob1H7C7ZLN+wW7/F2h0TpR4J+gojr2nFHcHM8P0U0czx+oZgpii5PA1I3uYhRDvD9Ms8badvGN0XBj2l10Uq2eMGgwsWO3h8dJnUChccdtD5fdgfs610d8Lo3AYhRS5XGYkyhklqbt31zyiKumVbCTrt8mCk8UjjaGTPTkhKIVmuC27vlsxubvm6eGB+/5jjNrs6CUYamSYqc1DZiIw0lqZTWSyRBlC1EmUdQvX5XjZtttNf8k9rltcmlfObJ8LhKe9istP5i1x2WrMz//P/xE985YGba22ULAAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"task\",\n    \"title\": \"task\",\n    \"src\": \"/static/15620787b55f5f970c115462cc86771a/42a8d/task.png\",\n    \"srcSet\": [\"/static/15620787b55f5f970c115462cc86771a/0e2fe/task.png 285w\", \"/static/15620787b55f5f970c115462cc86771a/42a8d/task.png 558w\"],\n    \"sizes\": \"(max-width: 558px) 100vw, 558px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n    \"), mdx(\"p\", null, \"We start by creating \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"abstract class\"), \" to represent generic \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"task\"), \". Look at the implementation code given below.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"# Import Abstract Base Class\\nimport abc\\n\\nclass Task(metaclass=abc.ABCMeta):\\n  @abc.abstractmethod\\n  def total_duration(self):\\n    pass\\n\\n  @abc.abstractmethod\\n  def required_duration(self):\\n    pass\\n\\n  @abc.abstractmethod\\n  def display(self):\\n    pass\\n\")), mdx(\"p\", null, \"This is the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"base class\"), \" for all our tasks. When we say \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"abstract class\"), \", we define the placeholder attributes and properties that should be implemented by child classes.\"), mdx(\"p\", null, \"Now, let us go ahead and install some of the dependencies that we shall be using during the class implementation. I am going to use \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"faker\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"lorem-text\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"readtime\"), \". Let us install them right away.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"!pip install faker\\nfrom faker import Faker\\nfake = Faker()\\n\")), mdx(\"p\", null, \"Also, install \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"lorem-text\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"readtime\"), \".\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"!pip install lorem-text\\n!pip install readtime\\n\")), mdx(\"p\", null, \"Now, let us go ahead and create several \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"concrete\"), \", more specific \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"task\"), \" classes. Note, as shown in the UML diagram above, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"TEXT\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"AUDIO\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"VIDEO\"), \" are the types of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"TASK\"), \".\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"import random\\nimport readtime\\n\\nclass Text(Task):\\n  def __init__(self, id, htmlText):\\n    self.id = id\\n    self.htmlText = htmlText\\n\\n  def total_duration(self):\\n    return readtime.of_text(self.htmlText)\\n\\n  def required_duration(self):\\n    return self.total_duration()\\n\\n  def display(self):\\n    return self.htmlText\\n\\n\\nclass Audio(Task):\\n  def __init__(self, id, link):\\n    self.id = id\\n    self.link = link\\n\\n  def total_duration(self):\\n    return '2 min'\\n\\n  def required_duration(self):\\n    return '2 min'\\n\\n  def display(self):\\n    return self.link\\n\\nclass Video(Task):\\n  def __init__(self, id, link):\\n    self.id = id\\n    self.link = link\\n\\n  def total_duration(self):\\n    return '4 min'\\n\\n  def required_duration(self):\\n    return '4 min'\\n\\n  def display(self):\\n    return self.link\\n\")), mdx(\"p\", null, \"So far, we have created an abstract class \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Task\"), \" and extended it to three other classes namely \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Text\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Audio\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Video\"), \". In order to create the different sub-classes, client will have to know the names and details of the shapes and separately perform the creation. This is where the Factory method comes into play.\"), mdx(\"p\", null, \"The factory method design pattern will help us to abstract the available shapes from the client. It allows us to centralize and encapsulate the object creation.\"), mdx(\"p\", null, \"Now, let us create a factory named, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"TaskFactory\"), \" that will help us create the specific \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Task\"), \" classes based on the client input.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"from lorem_text import lorem\\n\\nclass TaskFactory:\\n  def create_task(self, name):\\n\\n    if name == 'text':\\n      id = random.randint(1, 1000)\\n      htmlText = lorem.paragraph()\\n      return Text(id, htmlText)\\n    elif name == 'audio':\\n      id = random.randint(1, 1000)\\n      link = fake.hostname()+'/audio/listen.mp3'\\n      return Audio(id, link)\\n    elif name == 'video':\\n      id = random.randint(1, 1000)\\n      link = fake.hostname()+'/video/video.mp4'\\n      return Video(id, link)\\n\")), mdx(\"p\", null, \"This is the interface for creation. We do not call the abstract class, instead we call the factory and ask it to create a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Task\"), \" for us. For example, if we want to create a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Video\"), \" task, then we can initiate the Factory as given below:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"factory = TaskFactory()\\nxx = factory.create_task('video')\\nxx.display()\\n\")), mdx(\"p\", null, \"The output of the above code is given below. Please note, since, I have used the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"faker\"), \" to generate some data, the output you might get can be different from the one I have below:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"desktop-19.hicks-clark.net/video/video.mp4\\n\")), mdx(\"h3\", {\n    \"id\": \"advantages\"\n  }, \"Advantages\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The code becomes loosely coupled. That is to say, one component of the codebase are unaware of the other component.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The code is easy to understand and test.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Extendability is easier as we can add more functionality to specific components without affecting or breaking the entire program.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Factory method supports \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)\"\n  }, \"SOLID\"), \" principle where each classes and objects handles one specific functionality.\")), mdx(\"h3\", {\n    \"id\": \"disadvantage\"\n  }, \"Disadvantage\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Factory method entails to create more classes which eventually leads to less readability.\")), mdx(\"p\", null, \"In conclusion, the Factory Method Design Pattern allows us to create objects without specifying the exact class required to create the particular object. This allows us to decouple our code and enhances its reusability.\"), mdx(\"p\", null, \"It is important to note that, just like any other design pattern, it is only suitable for specific situations and not every development scenario. An assessment of the situation at hand is crucial before deciding to implement the Factory Method Design Pattern to reap the benefits of the pattern.\"));\n}\n;\nMDXContent.isMDXComponent = true;","keywords":null,"tags":[{"id":"40209f8c-349f-59ce-b578-0377570f7e07","name":"design pattern","slug":"/tag/design-pattern/"},{"id":"feb4807e-1676-51b3-a401-67d82d3b6541","name":"factory design pattern","slug":"/tag/factory-design-pattern/"},{"id":"e21812ea-a0f9-57d0-9b92-e74d02b12085","name":"creational design pattern","slug":"/tag/creational-design-pattern/"},{"id":"3f6b902a-f8c7-5968-8ff0-f0fa3ec123d8","name":"software design","slug":"/tag/software-design/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#e8f8f8","images":{"fallback":{"src":"/static/15620787b55f5f970c115462cc86771a/19188/task.png","srcSet":"/static/15620787b55f5f970c115462cc86771a/db297/task.png 190w,\n/static/15620787b55f5f970c115462cc86771a/19188/task.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/15620787b55f5f970c115462cc86771a/228d6/task.webp 190w,\n/static/15620787b55f5f970c115462cc86771a/6b99c/task.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#e8f8f8","images":{"fallback":{"src":"/static/15620787b55f5f970c115462cc86771a/4c012/task.png","srcSet":"/static/15620787b55f5f970c115462cc86771a/f8224/task.png 279w,\n/static/15620787b55f5f970c115462cc86771a/4c012/task.png 558w","sizes":"(min-width: 558px) 558px, 100vw"},"sources":[{"srcSet":"/static/15620787b55f5f970c115462cc86771a/a058d/task.webp 279w,\n/static/15620787b55f5f970c115462cc86771a/bd1be/task.webp 558w","type":"image/webp","sizes":"(min-width: 558px) 558px, 100vw"}]},"width":1600,"height":650.8960573476702}}},"tagCategoryPosts":{"nodes":[{"id":"40c99c9c-876e-56bd-9a15-a00fd5b53059","title":"Difference between software architecture and software design","slug":"/difference-between-software-architecture-and-software-design/","link":null,"excerpt":"Abstract Keywords: Software design, Software architecture, Software system, Software pattern…","timeToRead":5,"featured":null,"thumbnailText":null,"date":"January 24, 2021","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/db297/arch.png 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/228d6/arch.webp 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/6b99c/arch.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/17e9b/arch.png 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png 1600w","sizes":"(min-width: 1600px) 1600px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/c9f06/arch.webp 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/f47df/arch.webp 1600w","type":"image/webp","sizes":"(min-width: 1600px) 1600px, 100vw"}]},"width":1600,"height":650}}}]},"tagPosts":{"nodes":[{"id":"40c99c9c-876e-56bd-9a15-a00fd5b53059","title":"Difference between software architecture and software design","slug":"/difference-between-software-architecture-and-software-design/","link":null,"excerpt":"Abstract Keywords: Software design, Software architecture, Software system, Software pattern…","timeToRead":5,"featured":null,"thumbnailText":null,"date":"January 24, 2021","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/db297/arch.png 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/228d6/arch.webp 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/6b99c/arch.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/17e9b/arch.png 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png 1600w","sizes":"(min-width: 1600px) 1600px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/c9f06/arch.webp 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/f47df/arch.webp 1600w","type":"image/webp","sizes":"(min-width: 1600px) 1600px, 100vw"}]},"width":1600,"height":650}}},{"id":"219779ed-1f88-5d58-b958-00aefd887865","title":"A Decade of Software Design and Modeling","slug":"/a-decade-of-software-design-and-modeling/","link":null,"excerpt":"We present the results of a survey of 228 software practitioners conducted on two phases ten years…","timeToRead":1,"featured":null,"thumbnailText":null,"date":"April 05, 2019","category":{"id":"82af7936-3735-5dc7-a59d-2c7b0039cc9f","name":"Paper Review","slug":"/category/paper-review/","color":null,"icon":"/static/7a6bcdba1f73052efc8b1ce447c9df4e/paper.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/0b31e04112019da6cd22ee252e67e504/144fe/mdse.jpg","srcSet":"/static/0b31e04112019da6cd22ee252e67e504/9d7b9/mdse.jpg 190w,\n/static/0b31e04112019da6cd22ee252e67e504/144fe/mdse.jpg 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/0b31e04112019da6cd22ee252e67e504/228d6/mdse.webp 190w,\n/static/0b31e04112019da6cd22ee252e67e504/6b99c/mdse.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/0b31e04112019da6cd22ee252e67e504/ded15/mdse.jpg","srcSet":"/static/0b31e04112019da6cd22ee252e67e504/87446/mdse.jpg 450w,\n/static/0b31e04112019da6cd22ee252e67e504/ded15/mdse.jpg 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/0b31e04112019da6cd22ee252e67e504/6c4c2/mdse.webp 450w,\n/static/0b31e04112019da6cd22ee252e67e504/9e052/mdse.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":1600,"height":650.6666666666666}}}]},"categoryPosts":{"nodes":[{"id":"40c99c9c-876e-56bd-9a15-a00fd5b53059","title":"Difference between software architecture and software design","slug":"/difference-between-software-architecture-and-software-design/","link":null,"excerpt":"Abstract Keywords: Software design, Software architecture, Software system, Software pattern…","timeToRead":5,"featured":null,"thumbnailText":null,"date":"January 24, 2021","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/db297/arch.png 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/19188/arch.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/228d6/arch.webp 190w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/6b99c/arch.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#e85848","images":{"fallback":{"src":"/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png","srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/17e9b/arch.png 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/945a8/arch.png 1600w","sizes":"(min-width: 1600px) 1600px, 100vw"},"sources":[{"srcSet":"/static/fab3b3276c4f887c6fb8194b3db9b256/c9f06/arch.webp 800w,\n/static/fab3b3276c4f887c6fb8194b3db9b256/f47df/arch.webp 1600w","type":"image/webp","sizes":"(min-width: 1600px) 1600px, 100vw"}]},"width":1600,"height":650}}},{"id":"38a729f0-c16d-5883-9dd4-4ed2a67942f5","title":"Test Driven Development vs Behaviour Driven Development","slug":"/test-driven-development-vs-behaviour-driven-development/","link":null,"excerpt":"Abstract Keywords: Test Driven Development, Behaviour Driven Development, Acceptance Test Driven…","timeToRead":2,"featured":null,"thumbnailText":null,"date":"December 24, 2020","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/c9cd266b0efb20736b1bcbd9a91097a2/19188/tdd.png","srcSet":"/static/c9cd266b0efb20736b1bcbd9a91097a2/db297/tdd.png 190w,\n/static/c9cd266b0efb20736b1bcbd9a91097a2/19188/tdd.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/c9cd266b0efb20736b1bcbd9a91097a2/228d6/tdd.webp 190w,\n/static/c9cd266b0efb20736b1bcbd9a91097a2/6b99c/tdd.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/c9cd266b0efb20736b1bcbd9a91097a2/8d218/tdd.png","srcSet":"/static/c9cd266b0efb20736b1bcbd9a91097a2/7bba1/tdd.png 434w,\n/static/c9cd266b0efb20736b1bcbd9a91097a2/8d218/tdd.png 867w","sizes":"(min-width: 867px) 867px, 100vw"},"sources":[{"srcSet":"/static/c9cd266b0efb20736b1bcbd9a91097a2/795fe/tdd.webp 434w,\n/static/c9cd266b0efb20736b1bcbd9a91097a2/d6f0a/tdd.webp 867w","type":"image/webp","sizes":"(min-width: 867px) 867px, 100vw"}]},"width":1600,"height":649.59630911188}}},{"id":"9fe0732b-2cb8-5db5-9f24-c74d3b8c833b","title":"GraphQL query parsing and validation?","slug":"/graphql-query-parsing-and-validation/","link":null,"excerpt":"Abstract Keywords: Software service architecture, RESTful, GraphQL, GraphQL architecture, Query…","timeToRead":5,"featured":null,"thumbnailText":null,"date":"October 27, 2019","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/69d98b0c562bd0dfaa10f53baff6e903/19188/ast.png","srcSet":"/static/69d98b0c562bd0dfaa10f53baff6e903/db297/ast.png 190w,\n/static/69d98b0c562bd0dfaa10f53baff6e903/19188/ast.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/69d98b0c562bd0dfaa10f53baff6e903/228d6/ast.webp 190w,\n/static/69d98b0c562bd0dfaa10f53baff6e903/6b99c/ast.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/69d98b0c562bd0dfaa10f53baff6e903/20d1c/ast.png","srcSet":"/static/69d98b0c562bd0dfaa10f53baff6e903/40116/ast.png 584w,\n/static/69d98b0c562bd0dfaa10f53baff6e903/20d1c/ast.png 1168w","sizes":"(min-width: 1168px) 1168px, 100vw"},"sources":[{"srcSet":"/static/69d98b0c562bd0dfaa10f53baff6e903/67375/ast.webp 584w,\n/static/69d98b0c562bd0dfaa10f53baff6e903/64ebe/ast.webp 1168w","type":"image/webp","sizes":"(min-width: 1168px) 1168px, 100vw"}]},"width":1600,"height":650.6849315068494}}},{"id":"22454c7f-446b-5f84-aa6f-ad1756a5e602","title":"All about Information Architecture","slug":"/all-about-information-architecture/","link":null,"excerpt":"Abstract And many more. Well, being full stack web development/ frontend development these not very…","timeToRead":14,"featured":null,"thumbnailText":null,"date":"October 27, 2019","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#e8e8e8","images":{"fallback":{"src":"/static/515a3b7ad5c1101c170a555bc2c979ac/19188/ia.png","srcSet":"/static/515a3b7ad5c1101c170a555bc2c979ac/db297/ia.png 190w,\n/static/515a3b7ad5c1101c170a555bc2c979ac/19188/ia.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/515a3b7ad5c1101c170a555bc2c979ac/228d6/ia.webp 190w,\n/static/515a3b7ad5c1101c170a555bc2c979ac/6b99c/ia.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#e8e8e8","images":{"fallback":{"src":"/static/515a3b7ad5c1101c170a555bc2c979ac/a0508/ia.png","srcSet":"/static/515a3b7ad5c1101c170a555bc2c979ac/9e437/ia.png 657w,\n/static/515a3b7ad5c1101c170a555bc2c979ac/a0508/ia.png 1314w","sizes":"(min-width: 1314px) 1314px, 100vw"},"sources":[{"srcSet":"/static/515a3b7ad5c1101c170a555bc2c979ac/a3bb1/ia.webp 657w,\n/static/515a3b7ad5c1101c170a555bc2c979ac/bb649/ia.webp 1314w","type":"image/webp","sizes":"(min-width: 1314px) 1314px, 100vw"}]},"width":1600,"height":650.2283105022831}}},{"id":"bcdd1461-6069-56a7-b618-6e13f6eb2306","title":"How does GraphQL work?","slug":"/how-does-graphql-work/","link":null,"excerpt":"Abstract Keywords: Software service architecture, RESTful, GraphQL, GraphQL architecture, Query…","timeToRead":6,"featured":null,"thumbnailText":null,"date":"June 20, 2019","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/762edb84b0bf808c1746d10188ebf04a/19188/graphql.png","srcSet":"/static/762edb84b0bf808c1746d10188ebf04a/db297/graphql.png 190w,\n/static/762edb84b0bf808c1746d10188ebf04a/19188/graphql.png 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/762edb84b0bf808c1746d10188ebf04a/228d6/graphql.webp 190w,\n/static/762edb84b0bf808c1746d10188ebf04a/6b99c/graphql.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/762edb84b0bf808c1746d10188ebf04a/945a8/graphql.png","srcSet":"/static/762edb84b0bf808c1746d10188ebf04a/17e9b/graphql.png 800w,\n/static/762edb84b0bf808c1746d10188ebf04a/945a8/graphql.png 1600w","sizes":"(min-width: 1600px) 1600px, 100vw"},"sources":[{"srcSet":"/static/762edb84b0bf808c1746d10188ebf04a/c9f06/graphql.webp 800w,\n/static/762edb84b0bf808c1746d10188ebf04a/f47df/graphql.webp 1600w","type":"image/webp","sizes":"(min-width: 1600px) 1600px, 100vw"}]},"width":1600,"height":650}}},{"id":"27d95ea0-f879-5183-b4f2-8a8650eb45c1","title":"Adaptive Technology in Mental Health","slug":"/adaptive-technology-in-mental-health/","link":null,"excerpt":"Technology has open new domains in data collection and mental health. The uniqueness of mental…","timeToRead":3,"featured":null,"thumbnailText":null,"date":"January 04, 2019","category":{"id":"586422b6-b6df-56a6-b4f7-5071c49da347","name":"Software Architecture","slug":"/category/software-architecture/","color":null,"icon":"/static/171c4f2a122d83963638a8e07c0520ed/software.svg"},"author":{"id":"947e8b57-e3c9-5b4b-9872-fc27eb54f257","name":"Suresh Kumar Mukhiya","slug":"/author/suresh-kumar-mukhiya/","title":"Software Engineer","description":"Researcher by chance. I prefer green food and nice code. Artificial Intelligence, Big data and Frontend Technologies fascinates me. I like taking pictures.","skills":["Software Architecture","Frontend Development","Natural Language Processing"],"social":[{"name":"Github","url":"http://github.com/sureshHARDIYA/"},{"name":"Twitter","url":"https://twitter.com/dr_code_skm"},{"name":"Website","url":"https://www.skmukhiya.com.np/"}],"thumbnail":{"__typename":"ImageSharp","ImageSharp_small":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a7a66/suresh.png 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/416a0/suresh.png 96w","sizes":"48px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/a3542/suresh.webp 48w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/0f66d/suresh.webp 96w","type":"image/webp","sizes":"48px"}]},"width":48,"height":48},"ImageSharp_regular":{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='150'%20height='150'%20viewBox='0%200%20150%20150'%20preserveAspectRatio='none'%3e%3cpath%20d='M63%202a74%2074%200%201041%20142c8-4%208-4%205-5l-3-2c0-2%203-2%206-1%203%202%204%202%2011-4A74%2074%200%200063%202M41%2058c-19%208-25%2017-26%2035l-1%2011c-2%205%208%2010%2019%2010h6l-1-4-1-5%202-9%201%201%202%202%202%202c0%202%201%202%204%202%203-1%205%200%207%201%207%204%2016%201%2022-8l2-2-1%202-1%203h13c4-1%204-1%206-7%201-2%201-4%202-3l3%201%202%201%202%201c3%200%205%203%204%204l-1%206v5h5c6%200%2013-3%2013-6l-2-8c-1-8-5-19-8-21-2-3-15-12-19-12-1-1-3-1-4%201l-4%201c-1-1-2%200-3%202v3c3%201-3%2018-8%2022-4%203-4%201%200-3%205-6%204-8-2-3-8%208-8%208-14%202-4-4-5-5-5-3v3l-3-10c0-8-3-20-4-20l-9%203m62%2058l-6%204h-2c0-2-3-1-4%201%200%203%202%206%208%207l7%203c4%202%209%202%207-1l-3-8c-3-8-3-8-7-6m-15%2014c-1%205-1%206%204%207h8c7-2%206-2-2-6-11-5-10-5-10-1'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png","srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/46e60/suresh.png 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/d612b/suresh.png 300w","sizes":"150px"},"sources":[{"srcSet":"/static/f5daa173e29dcd3a2863e27fd1dbc2d1/ae23d/suresh.webp 150w,\n/static/f5daa173e29dcd3a2863e27fd1dbc2d1/bd37b/suresh.webp 300w","type":"image/webp","sizes":"150px"}]},"width":150,"height":150}}},"thumbnail":{"__typename":"ImageSharp","ImageSharp_vertical":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/1b0e3b65008965142a63adb983e4a904/144fe/photo-1490474418585-ba9bad8fd0ea-cover.jpg","srcSet":"/static/1b0e3b65008965142a63adb983e4a904/9d7b9/photo-1490474418585-ba9bad8fd0ea-cover.jpg 190w,\n/static/1b0e3b65008965142a63adb983e4a904/144fe/photo-1490474418585-ba9bad8fd0ea-cover.jpg 380w","sizes":"(min-width: 380px) 380px, 100vw"},"sources":[{"srcSet":"/static/1b0e3b65008965142a63adb983e4a904/228d6/photo-1490474418585-ba9bad8fd0ea-cover.webp 190w,\n/static/1b0e3b65008965142a63adb983e4a904/6b99c/photo-1490474418585-ba9bad8fd0ea-cover.webp 380w","type":"image/webp","sizes":"(min-width: 380px) 380px, 100vw"}]},"width":380,"height":290},"ImageSharp_hero":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/1b0e3b65008965142a63adb983e4a904/2265f/photo-1490474418585-ba9bad8fd0ea-cover.jpg","srcSet":"/static/1b0e3b65008965142a63adb983e4a904/df20f/photo-1490474418585-ba9bad8fd0ea-cover.jpg 200w,\n/static/1b0e3b65008965142a63adb983e4a904/2265f/photo-1490474418585-ba9bad8fd0ea-cover.jpg 400w","sizes":"(min-width: 400px) 400px, 100vw"},"sources":[{"srcSet":"/static/1b0e3b65008965142a63adb983e4a904/67e60/photo-1490474418585-ba9bad8fd0ea-cover.webp 200w,\n/static/1b0e3b65008965142a63adb983e4a904/6a2da/photo-1490474418585-ba9bad8fd0ea-cover.webp 400w","type":"image/webp","sizes":"(min-width: 400px) 400px, 100vw"}]},"width":1600,"height":652}}}]},"previous":{"id":"22454c7f-446b-5f84-aa6f-ad1756a5e602","slug":"/all-about-information-architecture/","title":"All about Information Architecture"},"next":{"id":"b1be05c6-5d9b-5886-9d54-3ddee37a1ec1","slug":"/personalisation-vs-customisation/","title":"Personalisation vs Customisation"}},"pageContext":{"id":"c21a2e38-b56e-5e0f-abc6-5cff1879670f","categoryId":"586422b6-b6df-56a6-b4f7-5071c49da347","tagsIds":["40209f8c-349f-59ce-b578-0377570f7e07","feb4807e-1676-51b3-a401-67d82d3b6541","e21812ea-a0f9-57d0-9b92-e74d02b12085","3f6b902a-f8c7-5968-8ff0-f0fa3ec123d8"],"hasTags":true,"previousId":"22454c7f-446b-5f84-aa6f-ad1756a5e602","nextId":"b1be05c6-5d9b-5886-9d54-3ddee37a1ec1","paginatePostsPage":true,"basePath":"/","services":{"algolia":true,"mailchimp":false,"disqus":true,"graphComment":false,"facebookComment":false},"siteUrl":null,"mobileMenu":{"title":"Topics","items":[{"name":"Artificial Intelligence","slug":"/category/artificial-intelligence/"},{"name":"Frontend Cheetseat","slug":"/category/frontend-cheetseat/"},{"name":"My Philosophy","slug":"/category/my-philosophy/"},{"name":"Paper Review","slug":"/category/paper-review/"},{"name":"Research Methods","slug":"/category/research-methods/"},{"name":"Software Architecture","slug":"/category/software-architecture/"}]},"darkMode":true,"includeExcerpt":true,"includeTimeToRead":true,"includeTableOfContents":true,"imageQuality":75}},
    "staticQueryHashes": ["1992822086","2409295108","2918496967","2981853053","4235339838","4240507859"]}