1"use strict";(self.webpackChunkaim_ene_github_io=self.webpackChunkaim_ene_github_io||[]).push([[1806],{57342(e,n,s){s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"week-3/les-3/les-3","title":"Les 3","description":"Lesdoelen","source":"@site/courses/doex/studenten/docs/week-3/les-3/les-3.mdx","sourceDirName":"week-3/les-3","slug":"/week-3/les-3/","permalink":"/doex/week-3/les-3/","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{},"sidebar":"materialSidebar","previous":{"title":"Mappingregels","permalink":"/doex/week-3/les-2/Lesprogramma/Mappingregels"},"next":{"title":"Voorbereiding","permalink":"/doex/week-3/les-3/Voorbereiding/"}}');var i=s(74848),r=s(28453);const o={},l="Les 3",a={},c=[{value:"Lesdoelen",id:"lesdoelen",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"les-3",children:"Les 3"})}),"\n",(0,i.jsx)(n.h2,{id:"lesdoelen",children:"Lesdoelen"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Leren kennen verschil tussen strong en eventual (en never) consistency."}),"\n",(0,i.jsxs)(n.li,{children:["Kennen van extra verantwoordelijkheid aggregate root:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"bewaken van strong consistency van de aggregate (aan de hand van optimistic locking)"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Optimistic locking kunnen toepassen met Spring Data JDBC (",(0,i.jsx)(n.a,{href:"https://docs.spring.io/spring-data/jdbc/docs/current-SNAPSHOT/reference/html/#jdbc.entity-persistence.optimistic-locking",children:"docs"}),")","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["aan de hand van het ",(0,i.jsx)(n.code,{children:"@Version"})," attribute"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Idee hebben van complexiteit van eventual consistency, maar alleen simpele oplossingen implementeren"}),"\n",(0,i.jsx)(n.li,{children:"Kunnen afwegen van consistency en performance op basis van domein"}),"\n",(0,i.jsx)(n.li,{children:"(Als dit haalbaar is voor ons) Domein relateren aan API-ontwerp"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453(e,n,s){s.d(n,{R:()=>o,x:()=>l});var t=s(96540);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.