Revision

4) Design Patterns - CS2800 - Software Engineering

21 min · 25. apr. 2025
episode 4) Design Patterns - CS2800 - Software Engineering cover

Beskrivelse

These materials from lecture slides cover design patterns, which are reusable solutions to common software design challenges. The initial set of slides introduces the motivation and classification of these patterns, categorising them as creational, behavioral, and structural. Specific patterns like Singleton and Factory (both abstract and regular) within the creational category are detailed, alongside behavioral patterns such as Observer and State. The subsequent slides continue by examining structural patterns like Facade and Bridge, which focus on object composition, and conclude with an overview of the Model-View-Controller (MVC) architectural pattern, emphasising its role in separating concerns within an application.

Kommentarer

0

Vær den første til at kommentere

Tilmeld dig nu og bliv en del af Revision-fællesskabet!

Kom i gang

2 måneder kun 19 kr.

Derefter 99 kr. / måned · Opsig når som helst.

  • Podcasts kun på Podimo
  • 20 lydbogstimer pr. måned
  • Gratis podcasts

Alle episoder

13 episoder

episode 6) Lifecycle - CS2800 - Software Engineering cover

6) Lifecycle - CS2800 - Software Engineering

This collection of materials outlines the Software Development Lifecycle and introduces Agile methodologies, with a strong focus on the Scrum framework. It begins by contrasting traditional approaches with the values expressed in the Agile Manifesto, emphasising individuals, working software, collaboration, and responding to change. The documents then detail the Scrum process, including roles like the Product Owner, Scrum Master, and Developers, and its structured workflow involving Sprints, the Product Backlog, and various meetings such as Sprint Planning, Daily Scrums, and Sprint Reviews. Key Scrum concepts like timeboxing, increments of value, and the importance of honesty and continuous improvement are highlighted. Furthermore, the materials provide context for a team project utilising Scrum principles, outlining the sprint structure and expectations.

25. apr. 202515 min
episode 5) Refactoring - CS2800 - Software Engineering cover

5) Refactoring - CS2800 - Software Engineering

These sources comprehensively outline refactoring, the systematic improvement of code without altering its functionality, emphasizing its importance in combating technical debt, which arises from poor coding practices and rushed development. The materials detail code smells, indicators of underlying problems in code categorized as bloaters, object-orientation abusers, change preventers, dispensables, and couplers, and provide numerous examples of each. Furthermore, the resources present various refactoring techniques, categorized by composing methods, moving features, organising data, simplifying conditionals, simplifying method calls, and dealing with generalisation, illustrating their application with before-and-after code examples. Finally, the sources discuss when and how to refactor effectively, including the use of automated tools for detecting code smells and the critical role of testing throughout the refactoring process to ensure code reliability.

25. apr. 202520 min