{"id":2716,"date":"2020-03-09T14:15:12","date_gmt":"2020-03-09T13:15:12","guid":{"rendered":"http:\/\/wmii.uwm.edu.pl\/~piojas\/?page_id=2716"},"modified":"2020-05-31T07:12:35","modified_gmt":"2020-05-31T05:12:35","slug":"aoop-java","status":"publish","type":"page","link":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/aoop-java\/","title":{"rendered":"AOOP-Java"},"content":{"rendered":"\n<p><strong>Week 1<\/strong> &#8211;  <a href=\"https:\/\/www.ntu.edu.sg\/home\/ehchua\/programming\/java\/J3f_OOPExercises.html\">https:\/\/www.ntu.edu.sg\/home\/ehchua\/programming\/java\/J3f_OOPExercises.html<\/a> <\/p>\n\n\n\n<p><strong>Week 2: Builder pattern<\/strong><br> <a href=\"https:\/\/www.vogella.com\/tutorials\/DesignPatternBuilder\/article.html\">https:\/\/www.vogella.com\/tutorials\/DesignPatternBuilder\/article.html<\/a> <br> <a href=\"https:\/\/www.geeksforgeeks.org\/builder-pattern-in-java\/\">https:\/\/www.geeksforgeeks.org\/builder-pattern-in-java\/<\/a> <br> <a href=\"https:\/\/medium.com\/@ajinkyabadve\/builder-design-patterns-in-java-1ffb12648850\">https:\/\/medium.com\/@ajinkyabadve\/builder-design-patterns-in-java-1ffb12648850<\/a> <br> <a href=\"https:\/\/dzone.com\/articles\/design-patterns-builder\">https:\/\/dzone.com\/articles\/design-patterns-builder<\/a> <\/p>\n\n\n\n<p>Task: create your own two project examples using this pattern  (they don&#8217;t have to be large) .<\/p>\n\n\n\n<p><strong>Week 3: StringBuilder as example of Builder <\/strong><a href=\"https:\/\/www.geeksforgeeks.org\/string-vs-stringbuilder-vs-stringbuffer-in-java\/\">https:\/\/www.geeksforgeeks.org\/string-vs-stringbuilder-vs-stringbuffer-in-java\/<\/a><\/p>\n\n\n\n<p>Task: create a project showing differences between StringBuilder and string.<\/p>\n\n\n\n<p><strong>Week 4: Prototype Pattern\/Deep Copy<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.baeldung.com\/java-pattern-prototype\">https:\/\/www.baeldung.com\/java-pattern-prototype<\/a><br> <a href=\"https:\/\/refactoring.guru\/design-patterns\/prototype\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/prototype\/java\/example<\/a> <\/p>\n\n\n\n<p>Task1: Make class form UML Diagram and implement for it Prototype Pattern.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/tel.png\" alt=\"\" class=\"wp-image-3021\" width=\"141\" height=\"108\"\/><\/figure>\n\n\n\n<p>Task2: Implement DeepCopy for School class. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"358\" src=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/school.png\" alt=\"\" class=\"wp-image-3022\" srcset=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/school.png 930w, http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/school-300x115.png 300w, http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/school-768x296.png 768w\" sizes=\"(max-width: 930px) 100vw, 930px\" \/><\/figure>\n\n\n\n<p><strong>Week 5: Singleton Pattern <\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.geeksforgeeks.org\/singleton-class-java\/\">https:\/\/www.geeksforgeeks.org\/singleton-class-java\/<\/a><br> <a href=\"https:\/\/www.journaldev.com\/1377\/java-singleton-design-pattern-best-practices-examples\">https:\/\/www.journaldev.com\/1377\/java-singleton-design-pattern-best-practices-examples<\/a> <br> <a href=\"https:\/\/www.baeldung.com\/java-singleton\">https:\/\/www.baeldung.com\/java-singleton<\/a> <\/p>\n\n\n\n<p>Taks1: Implement the singleton pattern for the following class:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"141\" height=\"108\" src=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/tel.png\" alt=\"\" class=\"wp-image-3021\"\/><\/figure>\n\n\n\n<p>Task2: Modify the singleton pattern for any class to allow up to two instances.<\/p>\n\n\n\n<p><strong>Week 6: Abstract Factory, Factory Method<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.baeldung.com\/java-abstract-factory-pattern\">https:\/\/www.baeldung.com\/java-abstract-factory-pattern<\/a><br> <a href=\"https:\/\/refactoring.guru\/design-patterns\/abstract-factory\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/abstract-factory\/java\/example<\/a> <\/p>\n\n\n\n<p><a href=\"https:\/\/www.tutorialspoint.com\/design_pattern\/factory_pattern.htm\">https:\/\/www.tutorialspoint.com\/design_pattern\/factory_pattern.htm<\/a><br> <a href=\"https:\/\/www.javatpoint.com\/factory-method-design-pattern\">https:\/\/www.javatpoint.com\/factory-method-design-pattern<\/a> <br><\/p>\n\n\n\n<p>Task1: create two projects presenting both factories. The product is to be Pizza, and the parts &#8211; pizza ingredients.<\/p>\n\n\n\n<p><strong>Week 7: Adapter<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.geeksforgeeks.org\/adapter-pattern\/\">https:\/\/www.geeksforgeeks.org\/adapter-pattern\/<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.tutorialspoint.com\/design_pattern\/adapter_pattern.htm\">https:\/\/www.tutorialspoint.com\/design_pattern\/adapter_pattern.htm<\/a><\/p>\n\n\n\n<p>Task: implement Adapter Pattern for the following class:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"381\" height=\"100\" src=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/05\/telefon-1.png\" alt=\"\" class=\"wp-image-3290\" srcset=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/05\/telefon-1.png 381w, http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/05\/telefon-1-300x79.png 300w\" sizes=\"(max-width: 381px) 100vw, 381px\" \/><\/figure>\n\n\n\n<p><strong>Week 8: Decorator&amp; Facade Pattern<\/strong><\/p>\n\n\n\n<p>Decorator:<br> <a href=\"https:\/\/www.tutorialspoint.com\/design_pattern\/decorator_pattern.htm\">https:\/\/www.tutorialspoint.com\/design_pattern\/decorator_pattern.htm<\/a> <br><a href=\"https:\/\/refactoring.guru\/design-patterns\/decorator\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/decorator\/java\/example<\/a><br>Task: Using the Decorator pattern, create a project that simulates the operation of the bank.<\/p>\n\n\n\n<p>Facade Pattern:<br><a href=\"https:\/\/www.tutorialspoint.com\/design_pattern\/facade_pattern.htm\">https:\/\/www.tutorialspoint.com\/design_pattern\/facade_pattern.htm<\/a><br> <a href=\"https:\/\/refactoring.guru\/design-patterns\/facade\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/facade\/java\/example<\/a> <br>Task: Using the Facade pattern, create a project that simulates the operation of the bank.<\/p>\n\n\n\n<p><strong>Week 9:  Composite &amp; Bridge Pattern<\/strong><\/p>\n\n\n\n<p>Composite:<br> <a href=\"https:\/\/www.baeldung.com\/java-composite-pattern\">https:\/\/www.baeldung.com\/java-composite-pattern<\/a> <br> <a href=\"https:\/\/www.geeksforgeeks.org\/composite-design-pattern\/\">https:\/\/www.geeksforgeeks.org\/composite-design-pattern\/<\/a> <\/p>\n\n\n\n<p>Bridge Pattern:<br> <a href=\"https:\/\/refactoring.guru\/design-patterns\/bridge\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/bridge\/java\/example<\/a> <br><a href=\"https:\/\/dzone.com\/articles\/bridge-design-pattern-in-java\">https:\/\/dzone.com\/articles\/bridge-design-pattern-in-java<\/a><\/p>\n\n\n\n<p>Task: Prepare two projects illustrating both design patterns.<\/p>\n\n\n\n<p><strong>Week 10: Proxy &amp;  Flyweight Pattern<\/strong><\/p>\n\n\n\n<p>Flyweight<br><a href=\"https:\/\/www.tutorialspoint.com\/design_pattern\/flyweight_pattern.htm\">https:\/\/www.tutorialspoint.com\/design_pattern\/flyweight_pattern.htm<\/a> <br><a href=\"https:\/\/refactoring.guru\/design-patterns\/flyweight\/java\/example\">https:\/\/refactoring.guru\/design-patterns\/flyweight\/java\/example<\/a> <\/p>\n\n\n\n<p>Proxy<br> <a href=\"https:\/\/www.baeldung.com\/java-proxy-pattern\">https:\/\/www.baeldung.com\/java-proxy-pattern<\/a> <br> <a href=\"https:\/\/www.baeldung.com\/java-proxy-pattern\">https:\/\/www.baeldung.com\/java-proxy-pattern<\/a> <\/p>\n\n\n\n<p>Task: for the class Telephone  prepare two projects illustrating both design patterns. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"141\" height=\"108\" src=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/wp-content\/uploads\/2020\/04\/tel.png\" alt=\"\" class=\"wp-image-3021\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Week 1 &#8211; https:\/\/www.ntu.edu.sg\/home\/ehchua\/programming\/java\/J3f_OOPExercises.html Week 2: Builder pattern https:\/\/www.vogella.com\/tutorials\/DesignPatternBuilder\/article.html https:\/\/www.geeksforgeeks.org\/builder-pattern-in-java\/ https:\/\/medium.com\/@ajinkyabadve\/builder-design-patterns-in-java-1ffb12648850 https:\/\/dzone.com\/articles\/design-patterns-builder Task: create your own two project examples using this pattern (they don&#8217;t have to be large) . Week 3: StringBuilder as example of Builder https:\/\/www.geeksforgeeks.org\/string-vs-stringbuilder-vs-stringbuffer-in-java\/ Task: create a project showing differences between StringBuilder and string. Week 4: Prototype Pattern\/Deep Copy https:\/\/www.baeldung.com\/java-pattern-prototype https:\/\/refactoring.guru\/design-patterns\/prototype\/java\/example Task1: &hellip; <a href=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/aoop-java\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">AOOP-Java<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9qw79-HO","_links":{"self":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/pages\/2716"}],"collection":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/comments?post=2716"}],"version-history":[{"count":10,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/pages\/2716\/revisions"}],"predecessor-version":[{"id":3392,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/pages\/2716\/revisions\/3392"}],"wp:attachment":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/media?parent=2716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}