Client feedback shows that delegates on our courses will best engage when they can relate course topics to their own day-to-day practices and requirements. Where possible, we run this course as a consultative, workshop-style event, in which discussion of relevant topics takes place in relation to the delegates' own applications and scenarios.
To facilitate this type of event, a subject matter expert leads the training, hands-on labs and discussions to ensure course topics are covered in a meaningful, relevant and timely manner. Delegates may be able to bring their own practical requirements and work to the course if the subjects and course topics are suitable.
Part I – Introduction.- Introduction.- Design Patterns.- UML and Scala.-
Part II – Fundamental Patterns.- Immutability.- Singleton.- Marker Trait.- Delegation.-
Part III – Code Reuse Patterns.- Lazy Parameters.- Partially Applied Functions.- Trait Based Template Operation.- Stackable Traits.- Currying and Code Reuse.- Cake Pattern.- Structural Injection.- Implicit Injection Pattern.-
Part IV – Gang of Four Patterns.- Gang of Four Design Patterns.- Gang of Four Patterns Catalogs.- Factory Operation.- Abstract Factory Pattern.- Builder.- Adapter Pattern.- Decorator.- Facade.- Flyweight.- Proxy.- Filter.- Bridge.- Chain of Responsibility.- Command.- Strategy.- Mediator.- Observer.- State.- Visitor.- Memento.-
Part V – Functional Design Patterns.- Functor.- Applicative Functor.- Monoid Pattern.- Monad Pattern.- Foldable.- Zipper.- Lens Pattern.- View Pattern.- Arrow Pattern.
Scala is a new and exciting programming language that is a hybrid between object oriented languages such as Java and functional languages such as Haskell. As such it has its own programming idioms and development styles.
Scala Design Patterns looks at how code reuse can be successfully achieved in Scala. A major aspect of this is the reinterpretation of the original Gang of Four design patterns in terms of Scala and its language structures (that is the use of Traits, Classes, Objects and Functions). It includes an exploration of functional design patterns and considers how these can be interpreted in Scala's uniquely hybrid style.
A key aspect of the course is the many code examples that accompany each design pattern, allowing the reader to understand not just the design pattern but also to explore powerful and flexible Scala language features. Including numerous source code examples,
See why people choose JBI
11/10/2017: Python has taken the world of software development by storm. Here are the reasons why: Python is simple enough to be used to teach young children...
05/10/2017: Back in March 2014, the Angular team dropped a bomb by announcing Angular 2 and everyone started yelling. Instead of an evolutionary step forward,...
03/10/2017: Traditionally Cyber security has been associated mainly with penetrating networks and infrastructure. Now a more subtle level of attack needs...
19/10/2017: Nowadays, there is a significant business advantage in being able analyse, process and visualize "big data". While there is no agreed definition...
11/10/2017: The training was to target a team of developers, with a mix of Java, C# and some C++. The team made heavy use of Java SE with some elements of...
05/10/2017: The BBC, who have a very substantial investment in technology, were keen to improve the quality of software development: to instil developers...
Bring a JBI course to your office
and train a whole team onsite
0800 028 6400 or request quote
Get in touch
0800 028 6400
Excellent feedback, consistently !
"great tips help reduce build times"
"we got access to exclusive content"
"Short course meant less time off"
"what an inspiring trainer !"
"colleagues at 2 sites joined via web"
"I passed my exam the next day"