<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Design &#8211; LEOCODE</title>
	<atom:link href="https://leocode.com/category/design/feed/" rel="self" type="application/rss+xml" />
	<link>https://leocode.com</link>
	<description>Next-gen Software in Digital Banking</description>
	<lastBuildDate>Mon, 02 Oct 2023 06:23:44 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://leocode.com/wp-content/uploads/2019/09/cropped-favicon-dark-150x150.png</url>
	<title>Design &#8211; LEOCODE</title>
	<link>https://leocode.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Universality, because accessibility is not about disability</title>
		<link>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/</link>
					<comments>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/#respond</comments>
		
		<dc:creator><![CDATA[Adam Filipowski]]></dc:creator>
		<pubDate>Mon, 02 Oct 2023 06:23:44 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[accessibilty]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20219</guid>

					<description><![CDATA[<p>I’m going to start with quite not politically correct, yet very much true statement. We, the developers, get sick and tired, as soon as we hear “accessibility”. There is a...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/universality-because-accessibility-is-not-about-disability/">Universality, because accessibility is not about disability</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="yg yh yi yj yk yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms yf"><picture><img fetchpriority="high" decoding="async" alt="" class="bm yq yr c" width="700" height="591" loading="eager" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*ShNRgWz8FMiw3AZxRH7omg.png" /></picture></div>
</div>
</figure>
<p id="2c0e" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I’m going to start with quite not politically correct, yet very much true statement. We, the developers, get sick and tired, as soon as we hear “accessibility”. There is a simple reason behind it. Often times the word “accessibility” is used very wrong. Many people think that accessibility equals aria labels and making you app usable by the blind. But this is only a small fraction of accessibility.</p>
<h1 id="c3cc" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">So what “accessibility” is?</h1>
<p id="56a7" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Let’s start the other way round and explain disability. We all know disability as a permanent state where a body doesn’t have all motor skills, but that’s again, just part truth.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abn"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*9Y815QFOtzOuNuXHTTAgtg.png 640w, https://miro.medium.com/v2/resize:fit:720/1*9Y815QFOtzOuNuXHTTAgtg.png 720w, https://miro.medium.com/v2/resize:fit:750/1*9Y815QFOtzOuNuXHTTAgtg.png 750w, https://miro.medium.com/v2/resize:fit:786/1*9Y815QFOtzOuNuXHTTAgtg.png 786w, https://miro.medium.com/v2/resize:fit:828/1*9Y815QFOtzOuNuXHTTAgtg.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*9Y815QFOtzOuNuXHTTAgtg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*9Y815QFOtzOuNuXHTTAgtg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="278" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*9Y815QFOtzOuNuXHTTAgtg.png" /></picture></div>
</div>
</figure>
<p id="cb64" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Looking at the picture above you probably already are aware that at some point of our lives we’ve all experienced some sort of disability. Either temporary (broken arm) or situational (occupied hands). Cambridge dictionary defines disability as “an illness, injury, or condition that makes it difficult for someone to do some things that other people do”. Taking this one step farther, physical disabilities are not the only ones that exist. Any learning impairment, like dyslexia, is also a disability, but again this one in a permanent one. Taking it a step back to temporary / situational mental disabilities as well as definition “difficult for someone to do things that other people do” even not knowing a language well, regardless if it’s due to some learning impairment or that language not being one’s native tongue.</p>
<p id="f13f" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">For all this, I want to introduce a better way of saying “accessibility” namely, as the title of this article states, “<strong class="oh gk">universality</strong>”. To me this is a better term, as we all do want our apps, documentations, articles be universally accessible by as many people as possible, regardless of their physical location and their own ability to access your content.</p>
<p id="773b" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">What “accessibility” really is, is an answer to a question “<strong class="oh gk">Can I get access to information?</strong>”</p>
<p id="33eb" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Here, I don’t want to focus on good HTML structures or aria labels, there is plenty great articles about that.<span> </span><strong class="oh gk">I want you to improve your way of thinking about accessibility. I want you to make information as much accessible as possible.</strong></p>
<h1 id="ddfe" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Touch</h1>
<p id="77fb" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">We’ve all seen people, usually older, using styluses to navigate their phone. Some of us might even laught, but have you ever wondered why they do it? It’s simply because they have hard time taping on items they’d like to navigate to. This happens because, as you get older your motor skills worsen, but to be completely honest with you, I sometimes struggle to tap on the thing I’d like to. Why? Mostly because of bad UX. See it for yourself.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abt"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*N4H_ILAqSrZQAOEvIGyrFg.png 640w, https://miro.medium.com/v2/resize:fit:720/1*N4H_ILAqSrZQAOEvIGyrFg.png 720w, https://miro.medium.com/v2/resize:fit:750/1*N4H_ILAqSrZQAOEvIGyrFg.png 750w, https://miro.medium.com/v2/resize:fit:786/1*N4H_ILAqSrZQAOEvIGyrFg.png 786w, https://miro.medium.com/v2/resize:fit:828/1*N4H_ILAqSrZQAOEvIGyrFg.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*N4H_ILAqSrZQAOEvIGyrFg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*N4H_ILAqSrZQAOEvIGyrFg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="386" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*N4H_ILAqSrZQAOEvIGyrFg.png" /></picture></div>
</div>
</figure>
<p id="1bfd" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Looking at this map, at the first glance you realize that, tapping on the correct map pin is nearly impossible. A very simple fix for this may be grouping some nearly located pins into one that would cause the map be zoomed in to that area with nicely spread pins.</p>
<p id="6518" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Generally with any touchable / clickable area a great rule of thumb is “could I tap it”. The more touchable area the better, but the minimum should be 48dp (or 48px / ~3rem) [<a class="ay hj" rel="noopener" href="https://medium.com/analytics-vidhya/what-is-the-difference-between-px-dip-dp-and-sp-e4351fefa685" target="_blank">what is a dp?</a>] .</p>
<h1 id="1455" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Contrast</h1>
<p id="3fc3" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Here I won’t say a word about colorblindness, nor any other permanent disability. Just look at the picture below.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abu"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*xZB6gf5Y59tqHh5AQ7FoDA.png 640w, https://miro.medium.com/v2/resize:fit:720/1*xZB6gf5Y59tqHh5AQ7FoDA.png 720w, https://miro.medium.com/v2/resize:fit:750/1*xZB6gf5Y59tqHh5AQ7FoDA.png 750w, https://miro.medium.com/v2/resize:fit:786/1*xZB6gf5Y59tqHh5AQ7FoDA.png 786w, https://miro.medium.com/v2/resize:fit:828/1*xZB6gf5Y59tqHh5AQ7FoDA.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="394" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*xZB6gf5Y59tqHh5AQ7FoDA.png" /></picture></div>
</div>
</figure>
<p id="0ef3" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Screens get better and better in terms of brightness, but if you never had an issue with sun making your screen unreadable, you probably live in the dungeon. This one is a struggle for every single person in the world every single day. When you create your app with bad contrast or some unusual fonts, you make it a lot worse for your users to<span> </span><strong class="oh gk">get the information they need</strong><span> </span>from you website.</p>
<p id="f0b0" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">An excerpt from “Refactoring UI” by Adam Wathan &amp; Steve Shoger says:</p>
<blockquote class="abv abw abx">
<p id="59e5" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">By designing in grayscale, you’re forced to use spacing, contrast and size to do the heavy lifting. It’s little more challenging, but you’ll end up with a clearer interface with a strong hierarchy that’s easy to enhance with color later.</p>
</blockquote>
<p id="c3a5" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Leave handwritten fonts for logos, leave weird colors schemes and just make it simple. Simple is better.</p>
<h1 id="213d" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Language</h1>
<p id="5593" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Simple is better, but what’s even more better, especially with language, is plain. I left this one to the end on purpose. This is a point relevant not only to copy writers or developers, but honestly to everyone. Ever written documentation? Procedure? Email to employees? A Slack message?<span> </span><strong class="oh gk">You need to understand that plain is better.</strong><span> </span>And now plain language is also an ISO standard.</p>
<p id="4d21" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I said earlier that accessibility is the answer to “Can I get access to the information?” question. What is better for that than a language. A language is the key to get out message across. Regardless of what that message is.</p>
<p id="eec4" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">If English is your native language, you are in a better position, as majority of the web is in English, but keep in mind that there are millions of users that either know English as a second language, or don’t know it at all. Think what is easier to translate. I personally worked with an app where where you could have peers instead of friends, principals instead of leaders and articles could be appreciated, not liked. People sometimes think if they do things different, they will be better, but in communication this is not the way.</p>
<blockquote class="abv abw abx">
<p id="b8fd" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">If you’re happy and you know it, clap your hands.<br />
If you’re happy and you know it, clap your hands.<br />
If you’re happy and you know it, and you really want to show it.<br />
If you’re happy and you know it, clap your hands.</p>
</blockquote>
<p id="291d" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">We all know this nursery rhyme, it’s one of the most popular ones that is used in English as Second Language teaching as well. If you look at it again, what do you see? There’s a lot of repetition and simple words.</p>
<p id="1cb9" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">This brings me back down the memory lane when I was studing English teaching. We were to create a children Christmas story, but the goal was to use no more than 30 different words. Tough challange, but has its point. Same as the nursery rhyme. That’s how we learn and understand language the best. With simple words and repetition.</p>
<p id="0817" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">An average 5–6 year old child knows 2500–5000 different words, by the age they’re 9 their primary set of words is around 5000, and secondary around 10000. If you think it’s more when you’re an adult you’d be wrong. It is basically this for the rest of our lives. We tend to use same words over and over again, and you know what? It is good! Using complex and unusual words does not make us sound smarter. It’s just making us less understandable.</p>
<h1 id="fed1" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Keep it simple!</h1>
<p id="2597" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Look at the examples below, they both mean exactly the same, but which one is actually understandable?</p>
<blockquote class="abv abw abx">
<p id="bac7" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">The recently implemented categorical standardisation procedure on waste oil should not be applied before 1 January 2015.</p>
</blockquote>
<p id="67d3" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">or</p>
<blockquote class="abv abw abx">
<p id="1856" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">Do not use the new waste oil standards before 1 January 2015.</p>
</blockquote>
<p id="e27a" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">What is more, when we use longer words (8 or 9 letters), users are more likely to skip shorter words (3, 4, or 5 letters) that follow it. People just don’t read one word at a time. They bounce around, especially online, and anticipate words, subconsciously filling them in.<strong class="oh gk"><span> </span>You don’t need to read every word to understand what is written. It is estimated that people can drop around 30% of text and still understand it perfectly.<span> </span></strong>An exception from that rule are people with learning disabilities who read letter for letter, and do not bounce around like other users. However, keep in mind that they cannot understand a sentence if it’s too long!</p>
<h1 id="56df" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">THIS IS MEGA IMPORTANT</h1>
<p id="6a83" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Capital letters are harder to read. By around 13 to 18%.</p>
<p id="5296" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Capital letters were great when you started learning to read. At first, you might sound out every letter, but you did not understood the concept of lower and upper case by the age of 6. At this point instead of letters, you start recognising the shape of words. This speeds up comprehension and speed of reading.</p>
<p id="e747" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">People do not read words, people recognise the shape of a word and understand it. It is a lot faster that way, and we all value our time greatly.</p>
<h1 id="df89" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Online vs Paper</h1>
<p id="ff8e" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Users read very differently online to paper. They do not read top to bottom or even from word to word. Instead, users only read about 20 to 28% of a web page. Think of a letter<span> </span><strong class="oh gk">F,<span> </span></strong>that is a shape in which users browse content of a web page. they want to complete their task as quickly as possible, so they skim across the top, then down the side, reading further across when they find what they need. So,<span> </span><strong class="oh gk">Keep it Simple. Give access to the information as quickly as possible.</strong></p>
<h1 id="db4e" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Learnings?</h1>
<ul class="">
<li id="72f8" class="ys yt up oh b yu abi yw yx yy abj za zb nr acc zd ze nw acd zg zh ob ace zj zk zl acf acg ach bp" data-selectable-paragraph="">be concise — simple and shorter is better. Be understood, especially when you write procedures.</li>
<li id="4ea5" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">address the user — use active voice</li>
<li id="ca8b" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">DO NOT CAPITALIZE — unless it’s logo</li>
<li id="3b76" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">use text version of signs — and is easier to read and understand than &amp;, same with dates use to instead of —</li>
<li id="fa7f" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">Be gender neutral — use plural “they”</li>
</ul>
<p id="fbe6" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">And make sure you use plain language, see<span> </span><a class="ay hj" href="https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style" rel="noopener ugc nofollow" target="_blank">https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style</a><span> </span>for full list of words that can be easily replaced. But to give you a few to avoid that I’ve seen use quite extensively:</p>
<ul class="">
<li id="d190" class="ys yt up oh b yu yv yw yx yy yz za zb nr acn zd ze nw aco zg zh ob acp zj zk zl acf acg ach bp" data-selectable-paragraph="">collaborate, use ‘work with’</li>
<li id="b329" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">empower, use ‘allow’ or ‘give permission’</li>
<li id="03b2" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">key (unless it unlocks something), usually not needed but can use ‘important’ or ‘significant’</li>
<li id="316a" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">streamline, use ‘simplify’ or ‘remove unnecessary administration’</li>
</ul>
<p id="b012" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I hope that now you understand better what is the goal of accessibility. It’s simply to allow as many users access the information you want to provide in a way they can understand it as you intended. I believe you want that too.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms acq"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*34rHefWXpVBQ4Fg5LVVynw.png 640w, https://miro.medium.com/v2/resize:fit:720/1*34rHefWXpVBQ4Fg5LVVynw.png 720w, https://miro.medium.com/v2/resize:fit:750/1*34rHefWXpVBQ4Fg5LVVynw.png 750w, https://miro.medium.com/v2/resize:fit:786/1*34rHefWXpVBQ4Fg5LVVynw.png 786w, https://miro.medium.com/v2/resize:fit:828/1*34rHefWXpVBQ4Fg5LVVynw.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*34rHefWXpVBQ4Fg5LVVynw.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*34rHefWXpVBQ4Fg5LVVynw.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="729" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*34rHefWXpVBQ4Fg5LVVynw.png" /></picture></div>
</div>
</figure>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/universality-because-accessibility-is-not-about-disability/">Universality, because accessibility is not about disability</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>LEOCODE AI is born!</title>
		<link>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/</link>
					<comments>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/#respond</comments>
		
		<dc:creator><![CDATA[Damian Winkowski]]></dc:creator>
		<pubDate>Thu, 06 Apr 2023 09:54:26 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20000</guid>

					<description><![CDATA[<p>Guess what? We are joining the AI revolution! At LEOCODE we’ve been building internal tools for last few years. We wanted to simplify processes and address our own needs. With...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/">LEOCODE AI is born!</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-renderer-start-pos="1"><strong>Guess what?</strong></p>
<h2 data-renderer-start-pos="14">We are joining the AI revolution!</h2>
<p data-renderer-start-pos="51">At LEOCODE we’ve been building internal tools for last few years. We wanted to simplify processes and address our own needs.</p>
<p data-renderer-start-pos="180">With the chatGPT and AI revolution we decided to go a step ahead. We created <a href="https://www.leocode.ai/" target="_blank" rel="noopener">LEOCODE AI</a> &#8211; a toolbox full of inspirations (tools, prompts etc) for every business owner, where you find a suitable tool, test it in action and apply to your needs in different areas (development, marketing, sales etc).</p>
<p data-renderer-start-pos="426"><img decoding="async" src="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1024x629.png" alt="" width="1024" height="629" class="aligncenter size-large wp-image-20011" srcset="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1024x629.png 1024w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-300x184.png 300w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-768x472.png 768w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1536x944.png 1536w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-2048x1258.png 2048w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-356x220.png 356w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1190x731.png 1190w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-700x430.png 700w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p data-renderer-start-pos="452">This site was done in a few hours with NoCode tools like Softr + Airtable. Seriously. No developer was involved. We will add more relevant content every week.</p>
<h2 data-renderer-start-pos="452">Plans for the future</h2>
<p>We would love to gather like-minded people and explore some possibilities together. Join our <a href="https://www.leocode.ai/communities" target="_blank" rel="noopener"><strong>WhatsApp group </strong></a>and share some inspirations. Let&#8217;s sit together in the front seat of this revolution and build some practical tools.</p>
<p>In upcoming weeks we will be adding more micro tools (made by LEOCODE), inspirations and some discussions. We will shape the vibrant community and give people voice.</p>
<h2 data-renderer-start-pos="452">What&#8217;s in it for me?</h2>
<p data-renderer-start-pos="452">A lot. Join the ride. We will test and analyze different AI tools, that can boost the business and development. If you have some challenge or problem you would love to address let us know. We won&#8217;t build it for ourselves, it&#8217;s for you!</p>
<p data-renderer-start-pos="580">So, ready to jump to the Rabbit Whole and explore?</p>
<p data-renderer-start-pos="692">Let us know, we will be more than happy to guide you here.</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/">LEOCODE AI is born!</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Domain-driven design</title>
		<link>https://leocode.com/design/domain-driven-design/</link>
					<comments>https://leocode.com/design/domain-driven-design/#respond</comments>
		
		<dc:creator><![CDATA[Leocode]]></dc:creator>
		<pubDate>Mon, 03 Apr 2023 13:02:04 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=19982</guid>

					<description><![CDATA[<p>Domain-driven design is an approach of creating software, where our development efforts are focused on the heart of the software &#8211; the business domain. Why even bother? Would you like...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/design/domain-driven-design/">Domain-driven design</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Domain-driven design is an approach of creating software, where our development efforts are focused on the heart of the software &#8211; the business domain.</p>
<h1>Why even bother?</h1>
<p>Would you like to be replaced by AI? Well, I assume you don&#8217;t, do you? Therefore, better move yourself out of the programming comfort zone and try to understand the business world.</p>
<p>Following DDD will help you to develop yourself into becoming a Technical Business Partner. Technical Business Partner is an IT professional, who fully understands the business she&#8217;s building. This means not only re-actively producing software according to business needs, but also being business-proactive. Thanks to this we are able to advice our clients regarding new business opportunities, build ubiquitous language and find inconsistencies in the existing business processes. With the advent of solutions such as ChatGPT, transformation from developer to Technical Business Partner has become more important than ever before.</p>
<p>At <strong>Leocode</strong>, we hire only the best Technical Business Partners that strive to fully understand true business requirements of our clients.</p>
<h1>Domain &#8211; the problem space</h1>
<p>Domain is the problem space of the business we are creating. Think all the complexities you usually experience when building software, but without any technical details.</p>
<p>Domain is what business is talking about all the time.</p>
<p><img decoding="async" src="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-300x163.png" alt="" width="646" height="351" class="wp-image-19987 aligncenter" srcset="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-300x163.png 300w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-1024x557.png 1024w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-768x418.png 768w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-1190x647.png 1190w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56-700x381.png 700w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.44.56.png 1306w" sizes="(max-width: 646px) 100vw, 646px" /></p>
<h1>Solution space</h1>
<p>Model we are creating belongs to the solution space. Defining strategic boundaries between modules, writing code that speaks business language, designing components according to true business requirements &#8211; it&#8217;s all part of the solution. Even sticky notes or tests are part of the model.</p>
<h1>Ubiquitous Language</h1>
<p>Our model should speak the same language as business. However, business rarely speaks exactly the same language. The same concept in accounting department might mean something entirely different by sales. It shouldn&#8217;t surprise you, though. Business is usually way more complex than we initially think. Context is the king.</p>
<p>Unfortunately, often naming is not consistent in the same context. It might work well up to some point for business, but is unmanageable when writing actual code. Therefore, we should aim to define the common language, used both by developers and business, given we are talking within the same context.</p>
<p>For example, let&#8217;s imagine we are working for a tree plantation. Within the &#8220;Growth&#8221; context, a Christmas tree is just a tree that needs some specific requirements regarding watering, soil, space, sun etc. At the same time, &#8220;Sales&#8221; department talks about number of orders and might be aware of an increased demand in December, so they can apply special Xmas &#8220;discounts&#8221;. On the other hand, for marketing, Christmas tree is nothing more than a product that should be aggressively advertised starting from late November.</p>
<p>It might happen that the &#8220;Growth&#8221; department inconsistently names important business concept. Some use term &#8220;tree&#8221;, others &#8220;Christmas tree&#8221; while for someone else it&#8217;s just a plant. They all mean the same thing, but name it differently. While it might be acceptable for human beings, it definitely messes things up and therefore is rather unsuitable when writing code. In such case, we should create the common language, that is being consistently used by business in everyday communication, documentation, tests and production code.</p>
<p>This common language is often named &#8220;Ubiquitous Language&#8221;.</p>
<p><img decoding="async" src="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-300x251.png" alt="" width="658" height="551" class="wp-image-19988 aligncenter" srcset="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-300x251.png 300w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-1024x858.png 1024w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-768x644.png 768w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-1190x997.png 1190w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14-700x587.png 700w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.48.14.png 1298w" sizes="(max-width: 658px) 100vw, 658px" /></p>
<h1>Strategic patterns</h1>
<p>In the previous section we&#8217;ve talked about language and contexts. Now, these contexts need to communicate somehow. With the growing number of contexts, it can be hard to manage all the relationships. This problem can be solved by applying DDD strategic patterns.</p>
<p>There are multiple strategic patterns we can apply when integrating contexts. For example:</p>
<ul class="ak-ul">
<li>Customer-Supplier</li>
</ul>
<ul class="ak-ul">
<li>Open Host</li>
</ul>
<ul class="ak-ul">
<li>ACL</li>
</ul>
<ul class="ak-ul">
<li>Conformist</li>
</ul>
<ul class="ak-ul">
<li>Separate Ways</li>
</ul>
<ul class="ak-ul">
<li>Shared Kernel</li>
</ul>
<ul class="ak-ul">
<li>Partnership</li>
</ul>
<ul class="ak-ul">
<li>Published Language</li>
</ul>
<p>We won&#8217;t cover all the details here, as it&#8217;s out of scope of this article. We can use Context Maps to draw all the relationships between contexts of our domain. That&#8217;s how the context map looks like.</p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-300x146.png" alt="" width="738" height="359" class="wp-image-19989 aligncenter" srcset="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-300x146.png 300w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-1024x499.png 1024w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-768x375.png 768w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-1190x580.png 1190w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10-700x341.png 700w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-3-o-14.49.10.png 1300w" sizes="(max-width: 738px) 100vw, 738px" /></p>
<p>However, strategic DDD is more than just context maps. It&#8217;s equally important to organize teams around contexts identified in the map. Thanks to this, we can explicitly define relationships and boundaries between teams. For example, we might notice we are overusing the conformist pattern, while we should follow Customer-Supplier between specific teams.</p>
<p>Strategic thinking can also help us to identify layers in our domain model. Again, this is something we should cover in a separate article.</p>
<h1>Tactical patterns</h1>
<p>Strategic patterns help us to understand why and what we are building. Tactical patterns, on the other hand, are useful to answer how we want to implement our model.</p>
<p>Tactical patterns are usually easier to understand for developers, as they can be applied immediately to the code. Some popular tactical patterns include:</p>
<ul class="ak-ul">
<li>Aggregate</li>
</ul>
<ul class="ak-ul">
<li>Domain Service</li>
</ul>
<ul class="ak-ul">
<li>Domain Event</li>
</ul>
<ul class="ak-ul">
<li>Policy</li>
</ul>
<ul class="ak-ul">
<li>Repository</li>
</ul>
<ul class="ak-ul">
<li>Domain Factory</li>
</ul>
<ul class="ak-ul">
<li>Module</li>
</ul>
<p>You probably might&#8217;ve heard about these patterns already and maybe even tried some of them. These patterns are usually the first thing developer tries when learning DDD.</p>
<p data-renderer-start-pos="5319">However, based on my experience, we shouldn&#8217;t be forced to look for these patterns immediately when we start a new project. When you start facing some problems, the need for these patterns will become evident.</p>
<p data-renderer-start-pos="5530">Also, don&#8217;t forget about strategic patterns &#8211; these often have much bigger impact on the project.</p>
<h1 data-renderer-start-pos="5629">DDD vs OOP</h1>
<p data-renderer-start-pos="5641">Some might say that DDD is the OOP done right. I can&#8217;t agree with this. DDD doesn&#8217;t enforce you to use OOP. You can implement most of the tactical patterns using FP, for instance. When you follow DDD, you are concerned about behaviors, not structures. For example, aggregate is nothing more than something to guarantee some business invariants. It doesn&#8217;t have to be a group of objects. It might be implemented as a function, simple CLI application, database procedure/constraints or even as a completely separate service. It doesn&#8217;t really matter. The big idea is the behavior.</p>
<p data-renderer-start-pos="6221">However, one thing remains true. If you decide to use OOP, then DDD will definitely help you to make the best out of it.</p>
<h1 data-renderer-start-pos="6343">Summary</h1>
<p data-renderer-start-pos="6352">Hope you enjoyed the article. It&#8217;s just the first installment of the DDD series. Stay tuned for new content coming up pretty soon!</p>
<p><em></em></p>
<p>Author: Mike Wojtyna</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/design/domain-driven-design/">Domain-driven design</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/design/domain-driven-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
