SE2811 Week 8 – Class 2 Re: Lab due tonight SE-2811 Slide design: Dr. Mark L. Hornick Much Content: Dr. Hornick Most Errors: Dr. Yoder 1.

Slides:



Advertisements
Similar presentations
SE2811 Week 8 Monday (last drop day) The Command Pattern Lambda Expressions SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr.
Advertisements

SE2811 Week 7, Class 2 The Gang of Four and more … Lab Thursday: Quiz SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder.
Week 8, Class 3: Model-View-Controller Model-View-Controller Why? What? How? Example: Barnyard Simon for the Web Question: Where should we use the command.
Week 5, Day 3: Observer Today Reducing coupling with the Observer The Observer pattern in Java APIs Posting events to a UI worker thread SE-2811 Slide.
SE2811 Week 7, Class 1 Composite Pattern Applications Conceptual form Class structure Coding Example Lab Thursday: Quiz SE-2811 Slide design: Dr. Mark.
Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.
Week 2, Day 2: The Factory Method Pattern Other good design principles Cohesion vs. Coupling Implementing the Strategy Pattern Changing strategies (behaviors)
Week 6, Class 1 & 2: Decorators Return Exam Questions about lab due tomorrow in class? Threads Locking on null object invokeLater & the squares example.
CSC 313 – Advanced Programming Topics. What Is the Factory Method?  Creation details hidden by AbstractCreator  Does effective job of limiting concrete.
SE-2811 Software Component Design Week 1, Day 2 (and 1-3 and 2-1) SE-2811 Dr. Josiah Yoder Slide style: Dr. Hornick 1.
Week 3, Day 2: Threads Questions about Threads “Multithreading” in Swing Lab tomorrow: Quiz Lab 3: Threading! SE-2811 Slide design: Dr. Mark L. Hornick.
CS2852 Week 3, Class 2 Today Stacks Queues SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1.
Today Nervous System Response Time SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1 SE3910 Week 3, Class 2.
CS-2852 Data Structures Week 10, Class 3 Final Announcement re. Final Choosing a Data Structure (Concluded) Poll Everywhere Survey & Results Conclusion.
SE1011 Week 6, Class 1 Today Return Half Exam 2 (cont.) Object Oriented Programming (cont.) Muddiest Point Next Half Exam: Week 7, Monday SE-1011 Slide.
CS2852 Week 5, Class 2 Today Queue Applications Circular Queue Implementation Testing SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors:
CS2852 Week 7, Class 1 Today Binary Search Tree Implementing add Implementing find Return Quiz 4 (second attempt) Both sections are graded SE-2811 Slide.
Week 3, Day 3: Singleton Pattern Quiz Status Russia Opportunity Muddiest Points – Patterns SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick.
Week 7, Day 3 Half-Exam 2 A New Pattern SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1.
SE-1021 Software Engineering II Week 9, Class 1 ByteBuffer Tomorrow Get quizzes back from last week… Wednesday Quiz at start of lab 1.
CS-2852 Data Structures Week 10, Class 2 Announcement re. Final Choosing a Data Structure CS-2852 Dr. Josiah Yoder Slide style: Dr. Hornick 1.
Week 5, Day 3: Decorator Decorators Muddiest Point Tomorrow: Quiz on lab reading: web.msoe.edu/hasker/se2811/labs/5/ SE-2811 Slide design:
Week 5, Day 2: Decorator Decorators Muddiest Point Tomorrow: Quiz on lab reading: web.msoe.edu/hasker/se2811/labs/5/ SE-2811 Slide design:
Week 6, Day 3 The Gang of Four and more … A new design pattern SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1.
Week 7, Class 1: The Command Pattern (cont.) Get Ready for Poll Everywhere Labs 2 & 3 returned Lab 7 due this evening at 11pm Quiz tomorrow at start of.
An object's behavior depends on its current state. Operations have large, multipart conditional statements that depend on the object's state.
Slide design: Dr. Mark L. Hornick
CS2910 Week 8, Class 2 Today Return Quiz Look at Schedule TCP implementation! Week 8, Monday Quiz on SMTP May include some questions requiring you to interpret.
Week 10, Day 3 Review for the quarter SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1.
Week 6, Class 3: Composite Swing composites File composites Computer composites SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors:
Week 8, Class 3: Model-View-Controller Final Project Worth 2 labs Cleanup of Ducks Reducing coupling Finishing FactoryMethod Cleanup of Singleton SE-2811.
Week 4, Day 1: Singleton(s?) Singleton leftover Why singletons? How to make lazy initialization work multi- threaded? Observers Why observers? Class structure.
Week 5, Class 3: Decorators Lab questions? Example: Starbuzz coffee Basic Pattern More examples Design Principles Compare with alternatives SE-2811 Slide.
SE3910 Week 8, Class 2 Week 4 Lab: Please return your graded Lab 4 to me so I can enter it in my gradebook Week 7, Class 2 (Wednesday) Half-Exam 2 Done.
CS-2852 Data Structures Week 5, Class 3 – Testing and Recursion Queue Implementing finite queues Binary Search Recursion Tomorrow – Quiz, Lab demos, Lab.
Slide design: Dr. Mark L. Hornick
Slide design: Dr. Mark L. Hornick
Slide style: Dr. Hornick
Slide design: Dr. Mark L. Hornick
Slide design: Dr. Mark L. Hornick
Common Design Patterns
Week 2, Day 1: The Factory Method Pattern
Slide design: Dr. Mark L. Hornick
object oriented Principles of software design
Week 6, Class 2: Observer Pattern
Design Patterns in Game Design
Slide design: Dr. Mark L. Hornick
Slide design: Dr. Mark L. Hornick
SE-2811 Software Component Design
SE-2811 Software Component Design
Week 7, Class 1: The Command Pattern (cont.)
Flavors of Digital Service Learning
SE-2811 Software Component Design
SE-1011 Slide design: Dr. Mark L. Hornick Instructor: Dr. Yoder
SE-1011 Slide design: Dr. Mark L. Hornick Instructor: Dr. Yoder
SE-2811 Software Component Design
Slide design: Dr. Mark L. Hornick
12. Command Pattern SE2811 Software Component Design
Polling vs. Interrupts CS2852 4/21/2019
Slide design: Dr. Mark L. Hornick
Slide design: Dr. Mark L. Hornick
11. MVC SE2811 Software Component Design
Slide design: Dr. Mark L. Hornick
Week 8, Class 3: Model-View-Controller
SE-1021 Software Engineering II
Slide design: Dr. Mark L. Hornick
11. MVC SE2811 Software Component Design
Slide design: Dr. Mark L. Hornick
SE-1021 Software Engineering II
Slide design: Dr. Mark L. Hornick
Presentation transcript:

SE2811 Week 8 – Class 2 Re: Lab due tonight SE-2811 Slide design: Dr. Mark L. Hornick Much Content: Dr. Hornick Most Errors: Dr. Yoder 1

re: Lab due tonight Should we change the author tag on the classes that we didn’t create ourselves, such as ShapeListUI? And ​ because there are few classes being added for this lab, should we change the tags to reflect our work from last lab? My partner and I worked pretty evenly on most classes, so if the latter is the case, I’m not sure whose name we would put. SE-2811 Dr. Yoder 2

@author Goals Get a rough sense for what each student is doing Adjust grades if a student is not pulling his weight 70/30 or even 80/20 can be OK 100/0 is not OK Policy: If I detect that a student has not contributed anything substantial to a lab, I may not award any credit to that student for that lab.* * After confirming that other students were making an effort to involve said student 3

@author Guidelines Ideally, all students will be writing code at the same time for a significant part, but not all, of the lab synchronously or asynchronously If you contribute significantly to a class/method/etc., put your name on tag, while you are writing it SE-2811 Dr. Josiah Yoder 4

As a team Teamwork sequence diagram… SE-2811 Dr. Josiah Yoder 5 As a team SynchronouslyAsynchronously

Brief Review of the Patterns covered so far Image source: 6

Command Image source: Encapsulate a method with associated data Data An object Parameters to the method Useful for recording macros redo/undo 7

Observer Image source: Decouple state from view “Don’t call me, I’ll call you” 8

Strategy Image source: Encapsulate behavior 9

Composite Image source: Create component from other components 10

Decorator Image source: Wrap an existing component to add functionality while keep the same interface 11

Factory Method Image source: Decouple use instantiation from any reference to a class Plug in new types without changing existing code 12

Singleton Image source: Manage all instances of a class Provide central access to instances of a class 13

Exercise Like many patterns, the Factory Method pattern is renowned for its ability to make code open for extension, but closed for modification. If you implement Factory Method, which classes will remain closed? Which might you edit or write new versions of? How will the rest of your program use the closed classes without using any of the open classes at all? SE-2811 Dr. Josiah Yoder 14

Exercise: Choose a design pattern You have a list that you would like to ensure does not contain null elements. annotation is not an option…) You are working on an app like Google Maps that finds shortest routes. You’ve got a couple of ideas for how to find the shortest route, and you’d like to separate them from the rest of your code SE-2811 Dr. Josiah Yoder 15