From 36a00af9ce83543dd9f174a398b285cb85c24844 Mon Sep 17 00:00:00 2001 From: "seonkyu.kim" Date: Sat, 12 Oct 2024 16:04:03 +0900 Subject: [PATCH] =?UTF-8?q?[=E2=9C=A8]=20Blog=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BlazorApp.sln.DotSettings.user | 1 + BlazorApp/Components/Layout/NavMenu.razor | 7 ++ .../Components/Pages/BlogPage/Blog.razor | 56 ++++++++++ .../Components/Pages/BlogPage/Blog.razor.cs | 102 ++++++++++++++++++ .../Components/Pages/BlogPage/Blog.razor.css | 14 +++ .../Components/Pages/BlogPage/BlogService.cs | 54 ++++++++++ .../Components/Pages/TodoPage/Todo.razor.cs | 2 + .../Pages/ValidationPage/Validation.razor.css | 5 +- BlazorApp/bin/Debug/net8.0/BlazorApp.dll | Bin 40448 -> 46080 bytes BlazorApp/bin/Debug/net8.0/BlazorApp.pdb | Bin 43744 -> 47788 bytes .../Debug/net8.0/BlazorApp.AssemblyInfo.cs | 2 +- .../net8.0/BlazorApp.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 4 + .../BlazorApp.csproj.CoreCompileInputs.cache | 2 +- .../BlazorApp.csproj.FileListAbsolute.txt | 1 + BlazorApp/obj/Debug/net8.0/BlazorApp.dll | Bin 40448 -> 46080 bytes BlazorApp/obj/Debug/net8.0/BlazorApp.pdb | Bin 43744 -> 47788 bytes BlazorApp/obj/Debug/net8.0/ref/BlazorApp.dll | Bin 10752 -> 12288 bytes .../obj/Debug/net8.0/refint/BlazorApp.dll | Bin 10752 -> 12288 bytes .../Pages/BlogPage/Blog.razor.rz.scp.css | 14 +++ .../Pages/TodoPage/Todo.razor.rz.scp.css | 1 - .../Validation.razor.rz.scp.css | 5 +- .../scopedcss/bundle/BlazorApp.styles.css | 20 +++- .../projectbundle/BlazorApp.bundle.scp.css | 20 +++- BlazorApp/ㅎNETCORE 학습/공부 방향.md | 6 +- .../추가적으로 알게 되는 내용.md | 54 +++++++++- 26 files changed, 358 insertions(+), 14 deletions(-) create mode 100644 BlazorApp/Components/Pages/BlogPage/Blog.razor create mode 100644 BlazorApp/Components/Pages/BlogPage/Blog.razor.cs create mode 100644 BlazorApp/Components/Pages/BlogPage/Blog.razor.css create mode 100644 BlazorApp/Components/Pages/BlogPage/BlogService.cs create mode 100644 BlazorApp/obj/Debug/net8.0/scopedcss/Components/Pages/BlogPage/Blog.razor.rz.scp.css diff --git a/BlazorApp.sln.DotSettings.user b/BlazorApp.sln.DotSettings.user index 6b0943b..4d00110 100644 --- a/BlazorApp.sln.DotSettings.user +++ b/BlazorApp.sln.DotSettings.user @@ -1,4 +1,5 @@  + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/BlazorApp/Components/Layout/NavMenu.razor b/BlazorApp/Components/Layout/NavMenu.razor index b8b9b9d..28cbe9e 100644 --- a/BlazorApp/Components/Layout/NavMenu.razor +++ b/BlazorApp/Components/Layout/NavMenu.razor @@ -37,5 +37,12 @@ Validation + + + \ No newline at end of file diff --git a/BlazorApp/Components/Pages/BlogPage/Blog.razor b/BlazorApp/Components/Pages/BlogPage/Blog.razor new file mode 100644 index 0000000..28b5f78 --- /dev/null +++ b/BlazorApp/Components/Pages/BlogPage/Blog.razor @@ -0,0 +1,56 @@ +@page "/blog" +@rendermode InteractiveServer + +

Blog

+ +@* +Dependency Injection (DI)를 사용하는 블로그 앱 + + 목표: Blazor의 DI 패턴을 이해하고 데이터 관리 + + 포인트 + • @inject 사용 + • 서비스 라이프사이클 관리 (싱글턴, 트랜지언트, 스코프드) + + 설명: 블로그 포스트를 추가, 삭제, 수정할 수 있는 간단한 블로그 앱을 만들어보세요. 데이터를 관리하는 서비스 클래스를 DI로 주입해 데이터를 처리합니다. + + *@ + +@if (BlogService.Instance.ReadPosts() == null || BlogService.Instance.ReadPosts().Count == 0) +{ +

No posts available.

+} +else +{ + +} +
+ +@* *@ +

@(isEdit ? "Edit Post" : "Add New Post")

+@* *@ + +
+ + +
+@* *@ +
+ + +
+@* *@ + + diff --git a/BlazorApp/Components/Pages/BlogPage/Blog.razor.cs b/BlazorApp/Components/Pages/BlogPage/Blog.razor.cs new file mode 100644 index 0000000..f179a6f --- /dev/null +++ b/BlazorApp/Components/Pages/BlogPage/Blog.razor.cs @@ -0,0 +1,102 @@ +using BlazorApp.PrefixCSharp; +using Microsoft.AspNetCore.Components; + + +namespace BlazorApp.Components.Pages.BlogPage; + +public class PostItem +{ + public int Id { get; set; } + public string Title { get; set; } + public string Content { get; set; } +} + + +public partial class Blog : ComponentBase +{ + // BlogService BS = BlogService.Instance; + + // private PostItem post = new PostItem(); + private string title = string.Empty; + private string content = string.Empty; + private int id = 0; + private bool isEdit = false; + + public void SavePost() + { + if (isEdit) + { + Console.WriteLine(this.id); + EditPost(this.id); + } + else + { + PostItem post = new PostItem + { + Title = this.title, + Content = this.content + }; + CreatePost(post); + } + + + title = string.Empty; + content = string.Empty; + } + public void CreatePost(PostItem post) + { + BlogService.Instance.CreatePost(post); + BlogService.Instance.ReadPosts(); + } + + public void RemovePost(int id) + { + BlogService.Instance.DeletePost(id); + } + + public void EditPost(int id) + { + isEdit = Prefix.Toggle(isEdit); + if (isEdit) + { + PostItem post = BlogService.Instance.ReadPost(id); + title = post.Title; + content = post.Content; + this.id = post.Id; + } + else + { + BlogService.Instance.UpdatePost(BlogService.Instance.ReadPost(id),this.title, this.content); + } + } + +} + + +public class Singleton +{ + // Lazy 선언으로 사용시에만 객체를 생성하게 하면서 외부에서 접근할 수 없는 단일 인스턴스를 저장한다. + private static Lazy _instance = new Lazy(() => new Singleton()); + + // 외부에서 해당 인스턴스에 접근하려면 이 속성을 통해서만 접근이 가능 + public static Singleton Instance => _instance.Value; + + private int value = 0; + + // 싱글턴이니까 외부에서 인스턴스 생성 불가하게 + private Singleton() + { + } + + public int DoSomething(int value) + { + Console.WriteLine("DO SINGLETON"); + this.value++; + return this.value + value; + } + + public void checkValue() + { + Console.WriteLine($"CHECK VALUE:{this.value}"); + } +} \ No newline at end of file diff --git a/BlazorApp/Components/Pages/BlogPage/Blog.razor.css b/BlazorApp/Components/Pages/BlogPage/Blog.razor.css new file mode 100644 index 0000000..e0c5d1e --- /dev/null +++ b/BlazorApp/Components/Pages/BlogPage/Blog.razor.css @@ -0,0 +1,14 @@ +.form-group { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 10px; +} + + +.form-group label { + width: 100px; + text-align: right; + margin-right: 10px; + padding-right: 4px; +} \ No newline at end of file diff --git a/BlazorApp/Components/Pages/BlogPage/BlogService.cs b/BlazorApp/Components/Pages/BlogPage/BlogService.cs new file mode 100644 index 0000000..35b9c58 --- /dev/null +++ b/BlazorApp/Components/Pages/BlogPage/BlogService.cs @@ -0,0 +1,54 @@ +namespace BlazorApp.Components.Pages.BlogPage; + +public class BlogService +{ + private static Lazy _instance = new Lazy(() => new BlogService()); + + public static BlogService Instance = _instance.Value; + + private List posts = new List(); + private BlogService() { + + } + + public void CreatePost(PostItem post) + { + if(posts.Count > 0) + post.Id = posts[^1].Id + 1; + else + post.Id = 1; + + posts.Add(post); + } + + public List ReadPosts() + { + foreach (var post in posts) + Console.WriteLine($"READ {post.Id} : {post.Title} = {post.Content}"); + return this.posts; + } + + public PostItem ReadPost(int id) + { + foreach (var post in posts) + { + if (post.Id == id) + return post; + } + return null; + } + + public void UpdatePost(PostItem post,string title, string content) + { + post.Title = title; + post.Content = content; + } + + + public void DeletePost(int id) + { + PostItem post = ReadPost(id); + posts.Remove(post); + } + +} \ No newline at end of file diff --git a/BlazorApp/Components/Pages/TodoPage/Todo.razor.cs b/BlazorApp/Components/Pages/TodoPage/Todo.razor.cs index fe476e9..c267c93 100644 --- a/BlazorApp/Components/Pages/TodoPage/Todo.razor.cs +++ b/BlazorApp/Components/Pages/TodoPage/Todo.razor.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Components; namespace BlazorApp.Components.Pages.TodoPage { + public partial class Todo : ComponentBase { private List todos = new(); @@ -37,6 +38,7 @@ namespace BlazorApp.Components.Pages.TodoPage private void ToggleTodo(TodoItem todo, int index) { + if (todo.IsDone) { todo.SuccessDate = string.Empty; diff --git a/BlazorApp/Components/Pages/ValidationPage/Validation.razor.css b/BlazorApp/Components/Pages/ValidationPage/Validation.razor.css index 139b01e..65b08d7 100644 --- a/BlazorApp/Components/Pages/ValidationPage/Validation.razor.css +++ b/BlazorApp/Components/Pages/ValidationPage/Validation.razor.css @@ -6,7 +6,6 @@ margin-bottom: 10px; } - .form-group label { width: 100px; text-align: right; @@ -21,8 +20,10 @@ .form-actions { display: flex; - justify-content: center; + flex-grow: 1; + /*justify-content: flex-end;*/ margin-top: 10px; + width: 100%; } .success-message { diff --git a/BlazorApp/bin/Debug/net8.0/BlazorApp.dll b/BlazorApp/bin/Debug/net8.0/BlazorApp.dll index 75108670491a9d5bb5a8beaf39f356bd39ebd4a6..f6ac79576c6a0ed6ed68f8157d5cf2cf1360e603 100644 GIT binary patch literal 46080 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 S@McGew!;S_f8J#v!CR-=FHRdTS&!7kr>y||I zlu-w;7qh~yK%dpziC~(IcXwo}dG-pQXumfqO+>*#?v1MZpqbBEQ-eIs_$!;x)9ov6 zwfTgVy~i^gJ+3wW+E%$PJ_8bCOssQf_7jdCk3Mp~B;8}7Jxh1COpTXgSjcQ$_|TJ72@JBt6KP|CiqD#p@dUbdK^AzCII+A`8<}{ zwc~ywJ6Bx9J(~~P@}n?3%(7;2?`s>5V2IuEk73wrSArUMy{xB?`ApbF)6oh-p&%Jm z5H0m20Mp?aBOyP;scVOIF6yFrsN?54A*#+PHE-}63%UN~Xh?49a~*z+hVS;k9G(ood_>wj_jMC$sk2!95Eq-SpC6d6aVgYP z!C{@h1w3T^Dcup@h-RqH?v5n@X*d>qbyM4Jos^$Tawq768R*^JARy&aes+|kT zWriOvkBU6h`8a$o6>{6Ui=VCV!Z-2Qc;lZ$SEki|;RssBP(OyE#BD$&aONHu4g-0F zllZ3?oP=C$1K&*d4%cu#^;&?O!NZ&h(>j>g%MEy4ho^$Zd)nK}OtBS}Ct+Yc`~Wk@ zFgJi+KCUu;Zvh^s+~~sy=!dvsWG1`Kg-nh|phkfIP9Wta>(gbad+m3E#5@M8iZ=+q ziR19Ydj2S=4LPk>O(-_#T|f73nxl6s;R_3lXH)!Z8Bu2Z?K}2#8CEAxJLR>so5x5RZ1_(G2<)$`du#Huzx?^37fzmk zNzab7aWo`8%Iz)~+b#y$>OtC+U>hESGmuXL+Zcq^S1m$iSL9A;gwHehe%f8gSD&h0 z82=0-uNI_!Xff!dNMi62Mtr{dRed0Hf@KpVT@zl&k7`k^JL1^1-a>2(|Q1nkm# z7_pO^!taA5ayK{dStPi97r6)5`ewakYCsENavSp>gWv*s_KWh zFk8QhFQ7_BW&LwArW7SR!ob2KG+g;qxI=dNe1xWOrF>U1fHZqNnEUs8u&h zvHhr>>~bd_hE%qU^@h()`k@O%FKdv>shO^BM0}C;0VE7)qltnI23+dCYwg+V!SC4( z55$$xOXuY(3A-CNEB90*-U50|~QqYiq zSl;0cpigVNJaHM2a5;~18Q3_=qFjcT1zRs%sqq_n_~hWbe_lgl!`#NXvtfE19rPmo z#w4PeBSejp!J`WK)}+zX-<@EJc^Kg-(}3I7N;|Oa#BxeC7i?R%3fDb=-LT4A;59G>&HovjLxH@)?g_(yrWOk(Yia>B;Q2qI`M|q+Yr`r!UV-Cv)E^@KUa%-^}6s zze)ND!AzF?TB&(Dk9*P=GEg$PMLDQ|K5T z?nhb4d9#kJl?`U+Ku-oA@oOruXp>2rBp z`bTiCB`x@TK?A*B%;`@;&jWumC>v8^|Z=-Jsb>(U3QP4qXOJ z2`$s_E-sX@3^W)?fKfK^}c^!Y$CivTT1r2_4O^$uFVJlD?G{Lx2Ar za^}(AeAeo>D_N^wFJQ{;#mp^<(b-BTE8B{;(<|T^qOAojr6IZysh2u~Y%`k#KUFYy z1sKyIt@oicL<pe{TUpStu`{xAU(KGL$1wP3291{8TE?M}u!n=mAtF(D}s* zst_nzrl2Z;K3;L4;xH(y1$q|{*PEou3cpvxP>n!u3zS9E1ez7#vTSM)s94IfsZpTM z=6}<_406pC=raZ1^!Fg7ULw%W;QN4zXthAU&i_0pOW{+vN9zIgP&wZ4W@vtp%O=vL z0{zCvP?)0Rnp8m7L1)V#*B){~FHO+jGMY+zZDrG_Ps*NvJNgKG(V(rYo(|feS#-z- z&88#JX#xEnA^0-%V8m9ofUXms@aQO8gs7Wazeq-G3EgCC?|i!10o`Kbaz1@h%AON0 zYv?lqeG9|C4DWy6W2<)|-6zm5h4MnYoSyFc271^Awa_CNv#an(=_I<|y9OG2+}nMbqevw*&bLeVnhC^xw<5^j2RC>B~Z6lwE=RoqauOy65(S= z8k6+?2?v3{OVaH@=5KHJD&g>}EXKc3&gqay^;B7hH;CH^BdEJFuU+yV^_Gy||8Zch zDf^^%0sX7{I51(l*XyNAJP!%x5y6~58rL}e51rG;T%7)1(mC!ELitr-!ld#~+VW4E zd5uba-#}Y;h&<0jPHyofv(!sx0^dNpp5m90?$2&V`uotUNQa7lfLg!N{t;=h{$pwD zr>J#^eung88mG6S-4gnO_8!vjy8ejtlkPvF?&ZNeA9E;0YR?-L6@st!u?#hmMtqyY z7<9VEep$glR?d0UZ?RdHPgwz0XB2m{5y~y&thDb7^a;8^TLfvQAdVpV1Xb#bd^yx+LIbWvKCF`hUE_bk zv&cPxZZM(0MUXy$ZZ)AFW*vj?xzmJBW)%SXyb1LOs`YaEq6rNJ!kF=YZ9-Yu$Ebq7 zZbGHm@Okv23H>;546(#_Oz53J0if3uBz>r&UkLOGdM2yIS4BBB+y~Xai8Mi=Z_p?F zTYVGh1zTA)eaBW-O-rVv>xHRVAXP6+YiwncXtS+s5@F|;YHu=KC6KB&nOqz=nX=SS zjzFrch9=f=*$BN>4!zSXft1u!XoWzEathVX6iWZ26+3)WX^sg!Q*k+<^GxU^&oOxD zW)u3MrvT6f6Z#iVwLYCL73dq(0-KypHwdKKn@+cxWvr#?^m|)b1dkqa>q?dg{j@4C0NN)xQ}uTS2gpV>E*no6z4vmKn6tgnnCb4AJC;CPbA5fLcxH;rwIR_FZB^ zf1O_ds7paI(le<~Ak~MNbeljUG%?FdGwFm0P0ePgW)4d>LfRdo0;#^& z)B7f+PmB5L$&DR5*Lzdj>YGImV<*Yb`K|)2aZj31tGfV^?6*wltAOUv>n7A3^kVhc zAu;+0tq=D3=29g#$IPXwBI%n?*P2jvMW1gWJt>fqY%#rw?USWX6kt=r_4d*t_Y(R` z6Uv7yOXv=P)NDMD?lB>rjpxxrCd9LGDV;DOo{dZCDHHm5`7x|J&zaC?$_oJfoq|Ny z%jq8!MB6G5t5OU0PLPbwueipyoVrcu@(PX4r-LTc184>PK_JzmCMwt@^@Qh2S|-p4 z{UcV|m9)l$rlUvAv`L^(_}%^+e5>dZRVMXTQLjMPP&Drgo>g?*gl1rmu$tZ!=;jGC zi*ELMA}1=oS;2SMfRD1$4g&U5FlCNZ%4j zwXmLk?SS;H>He*!9D$C)-XHd@r#ZH=7FueSoq=Vw(DwvVJU7ytHp-3kGm~-#ZS`%W z-j~-&R^~LgxW$rA-3e?0+Tygs+XZ z3-r8yr~hk!E)z)2hc?=+C`F%ba%bJL$Tm78W!%55sCT`MavOcp#$_8Fw^44RM{Jba z=}8;qc6!c6xt+eR%KR?}p7vctZz0?z~bR};#@3bcd%!-UFV^E>E2P3Y>%W3-db zn9#@IUv`qeO~%Myhk6%NwSvU5E+&2z5o@FL_F|gnC|f3w>g~nUVk^6Zc9>-i+RMI6 z=rLQ_rSzmgC$+mUb1tP-95&KPZA)Mdpfv)iakz|H1XAO08MO(d#^Ex$%t6`Zpxo=A zOe#w0!(}w=D7#LeqjWWW*LNA+Y(lqd-}PNix0}#i7|nKiz=Zxvd(F3tPMFZ^t{?lN z^ppu5cmLSeNzV(UNTM(L@3?#F@coMy6KYwDV=rGT>>ed-E^M=dPJb3#FBN>OD42epnn!fje9r! zhojzqnv`FmQ@(CG?Vt?o;2v4+6$*5esKgV?cD6O?0A*uQmfZ^>=XR& zb8)&tW$@UXoPPnA;?zUYdb4ETvPa z3Hdr&C-|M><93Q~8xqWjq&c!D&5=FnkZ>-dACz5&{r{(myAi*0zEbi<)Z#yYJf}m% z`<2(UJIijO2dFi4obIOXqWkDwEm-z2ZZiCG!ruV%W8W(%onHPunyp`2{*Tn8Z!J7Y zTl6c+PSH-iD0qsZdSme^>d~L7JVpETDP_N+>+}x4TYG@c4;Ij)G*q6eJxaR^tB_uS z==(M8mz7hH|4R8xq&bp~WY0nV45G(ZMgGOwm$EL@7Hd~jwrY>-L-{+kdBFFBW+Xc) z=}hgn6s`O)@(-3DL!R~au1WKt@O-fRxb`#swaU+Hzty?!yZVCc2c_=Q+H2a+EB{^# zx{j6q5GhB{Wm;9?F`BJC3Z3lJ7G(cI+o%1i{MSgY&v)x(u6cogejT)(FZm+Errk`S~uEe2VKe?O%Lo0o7U=|4TgNN*|A=qjNZa@AJe?izBHRD2ETro7u-SDW~E%3bb9UGwrv z-OsrEh1Kpy>Gz0Mlk`gYBKHj@&4Xnd+_%t#q7nC}=~($5*S*AhWUh4_^ds5#yB`ut z=I|BwORl>rs`Xc0PX)Z-!()-8pXUF-&3gN1_X**A0^I)Sep0wSNlgC@s?OWv`nK@- z2GW_H6H@nt)IA|RVyza?30j-C%kw>ZJGl&DejmXYImS$9w*$V4_mm zDfwZ+k4Sz*@K_J+x(B7F{ZC8jGeY@{&^#kFFA3(PU``4q zOS=Q@PSRMCNgDUAN%BpSk7^H6TUL+uT{@FBEcg*KWy+)4$LToIuesjyUk93nf#Xto zx0y1{J(@_Ru~hef{)<@;fO07Cfc8)H^}y3Y`HYz|{j;F?TGpF_If+`o@&81-N79eu z{DE|qQ_~sm(yy14Ifn&bqkkNy)HV92-0%5UNa+f}H%q=5wNCq+LGxx-v;G)pb_sr$ z&~!?^Q)q?-a}<`t-7H!`{ClcUIW@1UT&SGM}iKvi!r6 zA2CzL9GCpvX3ChSCI6Nsk9u z!WG$!-zDkQ*}^lI@o!2>dD06>S4g@`(qVl)Xqu2HCs*S2E^_d`|5gzFy84zdwZZ zyZNO^Z}wLq4QJONohWVHB6Vj;-cFM_&pmS??&RNj)p3`^2RIigKjXxAcJh(x(r1qC zvXKv=T!RL3kuO3y&YqF#=z9?P2vQx9Um@~%8VLD1l()$pd>U2L=ok@6(VK&mR zHW#>U6bG;CsatzN|Bn6({fzE+t#Ea?4!S<(`kia3JL$gOeVhAB?q9imo?_2b&u&kj z=UtC`m?LKU=W4{z7@pK;r8kUd+lgE6y)FapsR^U$R(e}XN8{FeW7r*x=C?3I-B^aY zck^xXQSx0rrtW&LmI1f0Y;@iA-bV_@;vUY>?hiBI<`#{uyF#8avFmTWH-C)G>%E`O zKBg$k16<0#djLM(=kUP_|CvAsFkMZwpX-l-H zfB6(zx^l3mw`*&xzbj_68L`;%j`sH1jkI+6;`a8&c4RV?3x0WLd;6-M#6WL!sJSmCd8NMl|#6Q;`su_ zqiTP0?i{7v#&%>fjQ4o>h2zjK8VA3a@fi%Is~rX7>6B&L-QM2RAMYRPiw`E+h6ZAd zyXGiO&p|IbczVW+R3GM!(+A+y?8!{9uzjxLY0@>e&l`tPW<0RWzOjA&IMp)a7mq`q znR((INa{(f>k_-d(hkEJ?-sldSbm@w6q6n z&p{h(ACBdF+uK*dUEn!IlX_j(SX`=uV~g5)k{IT(ToS7=2xIXW!3@~e!Ol*2s?3FA z2bqhc`(qnvj`t^F0AmZ*CX)kFcrZiZ<^y9Zv<~+5MU9~`1>)vtU1H;4Z|^4KqCL=f z>p-+KMtFp?yESI)??Il;V_knD8SMwq-ecw11+DAf4foA>(>7Q2M7#UriDXY_q9L7c zjSm{2xgeH=J?&}6-wP3@m|HP|sloYTTEU|C$GFXypuyjn)EvLL6jVy2+dZW6SOwk-_;v4WMtJe!EE0j-y5U!f=25&`iUoa z#iOl*{mGubn3$-lY@u3W$vyEdCyq62VxT&yw8n_{rBSMq6UUWon6`L#HyTd4j{Za( zAP=cnymDh~`^5cHxTL_XvE;UaF4%dZDTxPwJK(oAM*CvK%-M|F&=HHT*)Lif2ks&R zX0)NFKSt}CI0O<$(h}|5!zgfdz%Z+1%qkR1lNqPnmdbLED3gyQ)&G^zL=4V$2>vu> zEP_*tkC73BO@W5lv*f~DGK{fJS}AbA$*7S`QKn|Fl8*hllqHR!<~^~_y`~+-%vGFP z2756PqKV|HSZ}PG8(tId987HL-x%HBBk-zN$6$AN%vfo}4~T_`Zs6=^BQ9ah@bpNj zA0f@Y!5%o^G=@9e0~3^W0Q9z^_V&$2&wk)iN=eV4Gy^388)q8F-oS|&BWIepDUpcv zb@UF2>DbYuMm}96OJEwr)8(;fpOOvkJ6&Kk+M0|FwC%xi*}W%S*oLqfa{_;qD0U!j z>`fO~wbu4@b;bJAcuUSTP}g>t1ER>Wh45#xTA?u7J1!Mm@9v)NK|}%$Ce6`AXS54l z*c@fC;M39#Y>n-1#cG)x+KOl*J)uaApD@}Q>x~|ioUL3|2G{@xz-ew)Up5V#UWi_X~o=$r3)-pEJ(C}C|zJqX~8FZI(j(PPM5a9)(6#$Qn^lZ0syHNe1&dr z-!Ft)V}0@cF_Lh9<5Qvv=yf2T%y6E$6fg0quxbOGtP$;{4e{=teqJhjg+dHQ{FBP1m&UGM zMZvV|5V8@hhySRTR9lBo3!3VROJ*~aA{q9NXs6E{8p5*I74M_fT|G%2WkQ#F`r(HA zI$}n8n}(&toB%c)OcEZgKWRfDu0>yZ;Uak=VH2Z-#hN|tat^C9x6r&?HKakycrL)Z zC!o1fu~fT7+sNAncU6p|Qv@$V>-w)y@wCMRv(=2SX`LAbrGswTmWXixme?BWf-{yt zoR_uL2RmZ}(ven}1tMZ}36qFDI4c&~<&{{n{jmdbO)_5Ab#^@FawgekEFIWpNIswLur|A} za87Hnuv^(w(zDIt25aN#1hcXTWguflD|(_7nkpE@!on|Io=k14&8fPQw;%>xgu|RY zxbp01L*N=)2Qy0c?Ct?>Rcv<@V<#c)K)jciWaWNT)Ml{tq%6h4!9-GBNX;E$Wy($q zY%ho@O|*&s%%56|%qfNf z+wls^lRj*r20m>=DwmADI=vT2SO#fFu_n!lmMS+FAaU~?;-tzmHel-`XB`#P;)hAe zt}kJmMYc-pP7>U$v`aA$=@OKX-BS!eUVA&1#gsY_0mUS`XkfcYsPnIJB(n93r!aV=L`*wCICIC;8RO{2 zC$(moea_mbn|LzB5uX`DW9PArP8s7UF)ZF=X7C49H0Q02Y;7W$$be-F{x_^I<5%1?yM`Ue<<|d3iaYK3;OpS1A)MPbpu+2eh z%8a5IHB&QNry0XEG<77BvdP9eY@70F4K+Lfjbw8k;YO|r0J zBJ~)ZgFQ(L?84a$FQf_Ll{8`PrPs!KaZYFNrA>;I4l_G~jOP)yI&jsa43=7=17lDh zaH3}!d4k#ziXmPV&%yRem^d-sGom+`?;MFG@WM2wXnIw2i18dtHzmzLn>KZD_<|6G zV-{MATAK#3p-=L;8Ui)*ltTPk>tIJ8Fzjy4g^FF?)>r~d7RNAV&WhEjxi=0+)f;15 zrcH>Kth@@it;2O;Xfu0SH)|l^TN+7gm4^eB@i5iS zHxUrZ$;G+_L%oc&hKtmx36Go^Hb|Dw0Fp7uwnq1>j2cP7@kmK#fa|3~KKmv|9dW?i zdit#_>|kT;Aos>RV;1e$jt50Uc9`1{HK7*b*Hm6K1RORfEwTPV;j{UGRL4ae{q~;N z0l{yKtE(KyVjIDssI|320E9bz&`^_M;F@v4l;~M`VBxni-Zdl{Yct9*2u_xJhp4Gv zm6!*ZB9E2N$lJE|@M3HSGx>J8pR^xa+teZG>b?O$hfoK$xOlbQx{4Orb=d`B#iH2{0QGHyiH=@UmRb;J0Wt-hR4E_slBL0la}J{ z^C~U>un{LidcO;XrULS2~cs4+nSBnejCR~)q!%Bo>gJsx?9?t zHHNMiJp1u5VOXeog(|Jw1Zv0dPswlR)PcUlfoEC+Z4KZNld-r4=!5w;KwiXwf40`S zy@5YF*Oky{l&+K!YcgA~>*7!81&HxIJBi;jzL}7q2=xYGw-9lm4>~54R zJK*{aDJr|wX`X->Hfy{K+^I8w*T~o^474zS7Q=uHz}#j#MxV!sZS#QiZm*11y0;C$ z$1r{kbcH!eOF?1hhhKUrRXS+`o-L~n^u646Hc!ey$cky?>q7hcf$J1qG9_gVm_4Sl z4%qH))ZGir0nl~eA8xUcmY+a9o&jvPnCQ9OKWmOr7VC`dh(<8mRTDg&xC7h-cQOef z2Ed*@#Q{_ufIq3n6IVO{<2Ab+O5^EnS3moTBx)z{KHn_-<4MLM@ldcavx?&=jiVz; zF~KJ+vl^9PY7W$+y5)NLrTv}{5H>AL6BH2^n_xf6 zmcgQQ0hi{;YUkk#ql5g|@}RWER1LOnIR|L;ptFj5QJ-D-*#~;7jnYzOT3*$P)1cVQ z5;Ek za3kIuSs>F&*+}L&Vp)QkOgt1k9eZVH(+V7qr&<{8bIvYlJtSr)!-LI3Va+L}w#+=o zI^0Z3v@4V?eklf~A2XC^h10q6vK@md?Uh+`P~_m5kQDP{^TuzWh;!}6l}p&ghB3&z zBo7L`bCjGtWHC5BZk^lXxw;olybBaO z5tKaaUG@RuwuYz`S8lfxa|BN`)PG7&N;@w9TVKWz9%?z_knU z8u#A{hp0G{H=}%(ffpC1!@`iy3l)zYk2K(^=}ByPz_A$0Vx6&esdztXvy?oOEDNA4 zc6&UwG<7LB&xW66>C)}84JtfKNv;7bYic~!qKjf^>Yxsl#k%RLfPnY zTm0N0tB2JOZTJpmH3y8HMn66)<=2@pcb?tTXx|-%J5mG8u_t$iDR9de|9IMV13Ls9 zt4PJ1%EVcPmUwfZe(gMtXE?TGHFX2S9z0DOrgaGVmq>@4bWkxK$>-t5(9Gu^&PDB2 zfcE3d!#t3hU}0)8Db)ZoC5Cq-xD-V8fU6bVQbDKH2_C;Nns+vyxfy2eq~nFKUp$fO zpf%%JeLOpQ!CNgr1IS0AG9G;uQ*a4K670pTWtFAcE#+)EmR*ODx8eu(lsspgOEBY@ ze(XTU+VM0^h#V{dt8ujAtpVqlw;!}>AI7$%=rgIE z<82NLx&H^n{y8RB%MC|7%6OO`$3*Nlcuuk8X*oHn<~hPWR=Yi=19l(mPfoMhcgj;&VkNVja<+^XMy8Y{GEy04T?#qMIwB5!9c$7IInJFWiAdUd7EEg>eZ-3FKiXLJO6{VW-6o zu>*Z#j%*z4q!`EBG_{oP2E>Mr?SHdcVy!rT5f zvGN2x8|Q7%2s>?dy*!CkD3Y$5X`EHW&ts)VfpWRGJTW*NqHNVuj`*o8owtt_#n0$H*#H(NWeAMoG z&d$Z|4A`02d8)NX9fH6pi-*tx|EovD(IQ)(z3mV$94_*pk37<>!M}6$x-O%W}+9Q{C5u9;_mo!4ZnxVQ11gJ5B9; zrkW!?tcR3iM}`-CYh*TvGg8N+TnnSUP)#0Q6f)Od^*1M;yY_`I|Lu#9{q!*vuZZjN z@RCN8&gQ@xS&tsxanSIseBls^hrqfU#U1aL0f>Q=_iP*&Sc>GZe?XKoUz9VJf(J{T z4fKto;~>u3eDL6LOYHf1#o>v^8xjatn3jsyQ;v(YN$PNw&#Vop$Gq6YxZFT3J|9t2 zkb-O!_A@j-fw3?WQ}Rfe zfqS6UXFBy69phLqm9lQx;czRqHnLxQyx<{|V^!F;iLz>1S1Pm1Xm=Uf&P*ESNPzXm zD>V0rM~pWg-O!0z)0CN8)4@J=RtYtyr#UuIU*^*d<-SIT)*VnOtGoveNu6o&#(uoW$^Y;2zg4gX9l#83K=ne&BpCML6l8}k>E*C!m1K!7~GP|G4$UTFB;ysAo{ z&lTDd+NOI+3vH=_L=+nSRRQUt;Xfi%92$WvBlvA?Jv5RFoQZ(=6xznbBlyc98ValM z*S|s|Q}I7f_k)*YvkJKOvd~DAJD`Os1rKPMr%{74vI6MH$U1EzdBZNvpI51S^V~jN zhZ=N%3Yq6Y&5;(aAC~ME<}!R|a6~n~(}y-D;-_1raHqF8v`-5SGKb0ueqkFLiE{0k zEb@?-S%-#%IEFMh(j)mkX%j!;8X6hOYs4Ra3XXgPY%4<}hoyWZw^3smO}xve>2CBp z&qGkbbvZtdUKKj%4;>5+-|q22zN=9X9Ddx#9W7A80S5_&A3!}VkB7UGb2`X_!!Kc6 zRJZ+Ju7bb19?*3BQd4N;)=KnNG%3zpP|G1XNrGm+Z8bJ%3w5`>wvNTn13n^RH5mxFr4-$$9B$wI@oKoO%*w*h0dq!(f| z0EmjsHgx1vqtOkycApWBbFL92!2_h0}* z8`zrtxiE*~;P6Q;v>`Nn+*JMsZkv(pmsFux#oJu|FIuP#)5#Bm_oLM)z$}av=L)IV z=eD?Qz$^hd#&ScR4a*HKVCXs4sWN!Zu(Ab%%ns1( zu!=VTxYP#{_MXV|w+r7Pe0%X7z&GjkqL;{AeLG4MEmrQFOgLyvOqV_Dpe%&b&S zFJPSAg1K2SJ1|&_FE_uLtKZAX{TKqh(gS;{Vn^ZCLOWTVYP!S9*>UnJfyHH~_|zMf zzHan|wa^ec&0d~oZkVSd&wlfw>cCP7HiutzQ*(k%3d}+q{5~ugFfS}U%x93TV)!~~ zfm3vz+rfpY53=$5#j#+<<#1EV4-~Nv3bk>v!ySP);zV;r$d7LxzPcv@zBl5R|3YmZ zBxr&WoPxJs!>^O^2Y-Q2qc*+dA|pDmG2Wkg$B5s2KakKs=hK*O8U8d%!^YKZ{39`V zyK1KSmh`gyiy9iiAg?I(PQ3Z9H~(mZpKF9ck*85s>g59bu{``PqP!i4zXpc}X5){+ z;UCdljT!`~n=>c6IMy|9{@mGf=X7)}njM?l(Kv5m$HK%+}&QWq>u{c=*6;pMqd`>am$O-jnv$U95D{YdyD zINB^c<-`OB%ojZgt8DhH{i%14mEvZ}>${@ESsnaxH;bChJ*R~-n0YzE(|nJxX5Ff{ zK6*>|?OU%tb?t58Q+Ivjt>d3N_2Gx!zV%_wUw`de*WcUFl%ZbzTaRD;)+57jJ$CKe zw|(^kIjqjWVfLvzPrUWOEvN2$GJNXldruv|_0*liXP0AT1}+U_xts`}y6vI29=YYM z&z(4R-*EWUtsg!0(Jz}_5k1gtzuf*M(pon2!0p5L^%wE|f-2*b$CiI^a5}y%FX8(j zGPVzX_}=l^+PbQB(am3v{-Wgl6;H0J`NZPNOCDezv+%Bmk(iZ;Mf>;m^v#;xV7}Zw z3s-(SD$>-tdB&`iHQI9Vjw@!#6qwZ?OJatkiy8*HI;eGR)13JW$ZYc$e=yrbzh*uC z^1FZcs=xldzgyEe_-V*)eZIo^umw4<_uJ@*+A)b&AH>g};3fLLL?>o+tbt$C=g*m` z6kZ{@|6ans{wd-N^AA97#=*anACENQcF|Zo(+zXt_$c~4V~Usy(Y^4qAA1vjn-N#* zQ{=*VCQiUw@%YSkoP2FXZk?Qwwacm58ooh<&r|MqPAiL0yi}g>w_w!Ajf+)cqG*-i zc(ZKK8rk9DS7)$i;~RVYnL=EvP4nr`+}D=QsH7z!1*<)E#x^&pTn~D;fAnMX6)8!DoB+7Zub)R^!!e z#A>0Xdb(ZqsC-w&>W_MvhF_@RFSnHkde(^A&+>U!uT8?S@-<+O%)4j8O+)^5*$rre zpEmB5UJjst>H7ynVbHCTHa3}f)*w?`{bPua^D^lo-ImhhX7Jz}WBjBBUPVjQ%v2Yz zJmKJwe`D5OXS7Dr`l!Px{~T~!3|YD`Zu4m_ZlBHtj$h$egnSGTkLo=9s%!_oji8dj7$_ z-td0)(=^K_WBHvN#;;Sv`Dap=P2SeFrhd`nZ~{M}(G~5*d#}qT55*Fb&tIM!$PFxw znm@u528;g0vdM!+|B?iLlBF-2sPD7hMXm3Q_brJg`Wp7no*eFr_V?_@kHJ~tgR}=` z;c$wX`c;GEkV7Vp4Aw-dkI67S!@Z=Z&HIbAk6noz&o zWlRna_B3_!&$um{ygS;Ph?$)dCbKd~V~LK%$0qyISt%ueVCgJtgzya7|M=%=^|yUr QT>L-Y(*JMZ|DXo`A7Bd`Q~&?~ delta 14322 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 diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs b/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs index 98e8eac..fbde20a 100644 --- a/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs +++ b/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("BlazorApp")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4781a17b00b8e21414f02e947102acf72c5c6178")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+22a9ed453132bd81e3b047b70a2c7c8fecf41cf5")] [assembly: System.Reflection.AssemblyProductAttribute("BlazorApp")] [assembly: System.Reflection.AssemblyTitleAttribute("BlazorApp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfoInputs.cache b/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfoInputs.cache index f3f48c1..823660a 100644 --- a/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfoInputs.cache +++ b/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfoInputs.cache @@ -1 +1 @@ -d6262563cb144b1b24689bcb852f66331e78b742afea34cc7526f77806d8fefb +0de9e1463f1e76d9de8902e22e93a1f278b71d472a502e3acfe4ed33a0f2e63e diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig b/BlazorApp/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig index c779905..58e82fa 100644 --- a/BlazorApp/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig +++ b/BlazorApp/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig @@ -54,6 +54,10 @@ build_metadata.AdditionalFiles.CssScope = b-fekawvbbds build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50cy9MYXlvdXQvTmF2TWVudS5yYXpvcg== build_metadata.AdditionalFiles.CssScope = b-zswk0q6kaa +[/Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/Components/Pages/BlogPage/Blog.razor] +build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50cy9QYWdlcy9CbG9nUGFnZS9CbG9nLnJhem9y +build_metadata.AdditionalFiles.CssScope = b-yzv2llfl6l + [/Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/Components/Pages/TodoPage/Todo.razor] build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50cy9QYWdlcy9Ub2RvUGFnZS9Ub2RvLnJhem9y build_metadata.AdditionalFiles.CssScope = b-n64y2ur3f8 diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.CoreCompileInputs.cache b/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.CoreCompileInputs.cache index eec5051..2dc8279 100644 --- a/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.CoreCompileInputs.cache +++ b/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -50edfd86d0e1da31fa31883ae82e1f3520bbce7f4aabb52fd74698655be3fe0f +ef301e20d32eb1a6f2108ec68675e157089016ae7ab00873f44aef4cee05680c diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.FileListAbsolute.txt b/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.FileListAbsolute.txt index b488e7c..eeed635 100644 --- a/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.FileListAbsolute.txt +++ b/BlazorApp/obj/Debug/net8.0/BlazorApp.csproj.FileListAbsolute.txt @@ -33,3 +33,4 @@ /Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/obj/Debug/net8.0/ref/BlazorApp.dll /Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/obj/Debug/net8.0/scopedcss/Components/Pages/TodoPage/Todo.razor.rz.scp.css /Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/obj/Debug/net8.0/scopedcss/Components/Pages/ValidationPage/Validation.razor.rz.scp.css +/Users/seankim/1.Program/Project(ASP)/BlazorApp/BlazorApp/obj/Debug/net8.0/scopedcss/Components/Pages/BlogPage/Blog.razor.rz.scp.css diff --git a/BlazorApp/obj/Debug/net8.0/BlazorApp.dll b/BlazorApp/obj/Debug/net8.0/BlazorApp.dll index 75108670491a9d5bb5a8beaf39f356bd39ebd4a6..f6ac79576c6a0ed6ed68f8157d5cf2cf1360e603 100644 GIT binary patch literal 46080 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 S@McGew!;S_f8J#v!CR-=FHRdTS&!7kr>y||I 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 QT>L-Y(*JMZ|DXo`A7Bd`Q~&?~ delta 14322 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 diff --git a/BlazorApp/obj/Debug/net8.0/ref/BlazorApp.dll b/BlazorApp/obj/Debug/net8.0/ref/BlazorApp.dll index ba887f5acf5f6b6b21d6477e936741ccd3e5f651..48d8abd0aa246f3256a31cd3cb7fd05b7dc6fe3f 100644 GIT binary patch literal 12288 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 + 외부에서 주입해주는 방식으로 객체 간 결합도를 줄이고 테스트 가능성과 유연성을 높이는 역할을 한다. +- 의존성(Dependency)란? + - 간단하게 한 객체가 다른 객체의 기능, 데이터를 필요로 할 때 이를 의존성이라고 한다. + - A 클래스가 B 클래스의 기능을 사용하면 A는 B에 의존한다고 보면 된다. +- 핵심 개념 + - 제어 역전(inversion of Control) : DI도 결국 이 개념의 한 형태로서
+ 전통적으로 객체는 스스로 필요한 의존성을 직접 생성하지만 DI에서는 외부에서 의존성 주입해 객체간 결합도 줄임 + - 느슨한 결합 : DI는 클래스 간 결합도 낮추는 방법으로 객체가 다른 객체의 구체적 구현에 의존하지 않고 인터페이스나 추상 클래스에 의존하게 한다.
+ 그로 인해 시스템의 유지보수성과 확장성을 높인다. + +## 5. 싱글턴 패턴 +- 가장 유명하고 자주 쓰이면서 남발하면 절대 안되는 패턴 +```csharp +public class Singleton +{ + // Lazy 선언으로 사용시에만 객체를 생성하게 하면서 외부에서 접근할 수 없는 단일 인스턴스를 저장한다. + private static Lazy _instance = new Lazy(() => new Singleton()); + + // 외부에서 해당 인스턴스에 접근하려면 이 속성을 통해서만 접근이 가능 + public static Singleton Instance => _instance.Value; + + private int value = 0; + + // 싱글턴이니까 외부에서 인스턴스 생성 불가하게 + private Singleton() + { + // 초기화 + } + + public int DoSomething(int value) + { + // 그냥 아무 동작이나 + Console.WriteLine("DO SINGLETON"); + this.value++; + return this.value + value; + } +} + +public class Base +{ + private void CheckSingle() + { + Singleton ton1 = Singleton.Instance; + Singleton ton2 = Singleton.Instance; + if (ton1 == ton2) + Console.WriteLine("Same"); + } +} +``` \ No newline at end of file