Programming language semantics | Formal methods | Type theory
The Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called strong behavioral subtyping, that was initially introduced by Barbara Liskov in a 1988 conference keynote address titled Data abstraction and hierarchy. It is based on the concept of "substitutability" – a principle in object-oriented programming stating that an object (such as a class) may be replaced by a sub-object (such as a class that extends the first class) without breaking the program. It is a semantic rather than merely syntactic relation, because it intends to guarantee semantic interoperability of types in a hierarchy, object types in particular. Barbara Liskov and Jeannette Wing described the principle succinctly in a 1994 paper as follows: Subtype Requirement: Let be a property provable about objects of type T. Then should be true for objects of type S where S is a subtype of T. Symbolically: That is, if S subtypes T, what holds for T-objects holds for S-objects.In the same paper, Liskov and Wing detailed their notion of behavioral subtyping in an extension of Hoare logic, which bears a certain resemblance to Bertrand Meyer's design by contract in that it considers the interaction of subtyping with preconditions, postconditions and invariants. (Wikipedia).
Integration 8 The Substitution Rule in Integration Part 2 Example 1
Working through an example of substitution in integration.
From playlist Integration
Integration 8 The Substitution Rule for Integration Part 1
An explanation of the reverse of the chain rule in integration.
From playlist Integration
Integration 8 The Substitution Rule in Integration Part 2 Example 6
Working through an example using substitution in integration.
From playlist Integration
Integration 8 The Substitution Rule in Integration Part 2 Example 8
Working through an example using substitution in integration.
From playlist Integration
Integration 8 The Substitution Rule in Integration Part 2 Example 9
Working through an example using substitution in integration.
From playlist Integration
Integration 8 The Substitution Rule in Integration Part 2 Example 7
Working through an example using substitution in integration.
From playlist Integration
RedDotRuby 2014 - SOLID Design Principles in Ruby by Anil Wadghule
This talk covers following SOLID design principles in Ruby with live code examples. Single responsibility principle: an object should have only a single responsibility. Open/closed principle: an object should be open for extension, but closed for modification. Liskov substitution principl
From playlist RedDotRuby 2014
Integration 8 The Substitution Rule in Integration Part 2 Example 3
Working through an example using the reverse of the chain rule for integration.
From playlist Integration
Integration 8 The Substitution Rule in Integration Part 2 Example 5
Working through an example using the substitution rule in integration.
From playlist Integration
Clean Code: SOLID - Beau teaches JavaScript
Learn the best practices of how to write clean code in JS. This video tutorial is over the S.O.L.I.D. principles of clean code programming: S – Single Responsibility Principle O – Open-Closed Principle L – Liskov Substitution Principle I – Interface Segregation Principle D – Dependency Inv
From playlist Clean Code - Beau teaches JavaScript
Integration 8 The Substitution Rule in Integration Part 2 Example 4
Working through and example using the reverse of the chain rule in integration.
From playlist Integration
RubyConf 2009 - SOLID Ruby by: Jim Weirich
From playlist RubyConf 2009
How to Code Like a Pro (with Dylan Israel)
Learn how to write more professional code. Learn tools and principles to improve your code from Dylan Israel. This tutorial covers: ⌨️ (0:00:00) Introduction ⌨️ (0:02:45) Linting ⌨️ (0:09:21) Variables ⌨️ (0:30:04) Functions ⌨️ (0:52:27) Comments ⌨️ (1:08:45) SOLID Principles ⌨️ (1:21:05)
From playlist Computer Science Concepts
GORUCO 2009 - SOLID Object-Oriented Design by Sandi Metz
Help us caption & translate this video! http://amara.org/v/GUQO/
From playlist GoRuCo 2009
It is pretty common to hear people talk about "SOLID code" in talks, blogs and podcasts these days. For the object-oriented programming novice who hears this term for the first time, the Wikipedia article gives a high-level overview, but advice and information about what ""SOLID"" really m
From playlist Software Development
GTAC 2013 Day 2 Keynote: Testable JavaScript - Architecting Your Application for Testability
http://g.co/gtac2013 Slides: http://goo.gl/E1v14 Mark Trostler, Google Testable JavaScript is a process. Whether starting with a blank slate or an already implemented application (or somewhere in-between) being able to test your JavaScript code simply, cleanly, and effectively is a nece
From playlist GTAC 2013
RubyConf 2017: Git Driven Refactoring by Ashley Ellis Pierce
Git Driven Refactoring by Ashley Ellis Pierce Often we know that our code needs refactoring, but we have no idea where to start. Maybe we studied some common code smells and learned about the things that we should be avoiding, but memorizing the rules doesn’t automatically lead to fixing
From playlist RubyConf 2017
Procedural Programming: It's Back? It Never Went Away
When programmers describe code as 'procedural', it's generally not meant as a compliment. There is the belief that we have collectively moved pass such thinking and onto better paradigms. But a paradigm is no more than a pattern language, a family of solutions fit for a context. Change the
From playlist Software Development
Integration 12_5_3 Trigonometric Integration.mov
Another example of trigonometric substitution.
From playlist Integration