browse
home
browse
cart
log in
catalog
MEAP
liveBook
liveVideo
liveProject
liveAudio
free content
register pBook
subscription
"Looks Good to Me"
—Save 45% TODAY ONLY!
"Looks Good to Me"
—Save 45% TODAY ONLY!
Previous
Next
Next
Dismiss
view your dashboard
manage account details
sign out
click to
look inside
Look inside
customers also reading
This book
1°
2°
3°
Become a
Reviewer
Help us create great videos
Functional Declarative Design: a Counterpart to Object-Oriented Design
you own this product
'); $(document.body).append('
loading reading lists ...
'); function adjustReadingListIcon(isInReadingList){ $readingListToggle.toggleClass("fa-plus", !isInReadingList); $readingListToggle.toggleClass("fa-check", isInReadingList); var tooltipMessage = isInReadingList ? "edit in reading lists" : "add to reading list"; $readingListToggle.attr("title", tooltipMessage); $readingListToggle.attr("data-original-title", tooltipMessage); } $.ajax({ url: "/readingList/isInReadingList", data: { productId: 2435 } }).done(function (data) { adjustReadingListIcon(data && data.hasProductInReadingList); }).catch(function(e){ console.log(e); adjustReadingListIcon(false); }); $readingListToggle.on("click", function(){ if(codePromise == null){ showToast() } loadCode().then(function(store){ store.requestReadingListSpecificationForProduct({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId, title: window.readingListsServerVars.title }); ReadingLists.ReactDOM.render( ReadingLists.React.createElement(ReadingLists.ManningOnlineReadingListModal, { store: store, }), document.getElementById("reading-lists-modal") ); }).catch(function(e){ console.log("Error loading code reading list code"); }); }); var codePromise var readingListStore function loadCode(){ if(codePromise) { return codePromise } return codePromise = new Promise(function (resolve, reject){ $.getScript(window.readingListsServerVars.libraryLocation).done(function(){ hideToast() readingListStore = new ReadingLists.ReadingListStore( new ReadingLists.ReadingListProvider( new ReadingLists.ReadingListWebProvider( ReadingLists.SourceApp.marketplace, getDeploymentType() ) ) ); readingListStore.onReadingListChange(handleChange); readingListStore.onReadingListModalChange(handleChange); resolve(readingListStore); }).catch(function(){ hideToast(); console.log("Error downloading reading lists source"); $readingListToggle.css("display", "none"); reject(); }); }); } function handleChange(){ if(readingListStore != null) { adjustReadingListIcon(readingListStore.isInAtLeastOneReadingList({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId })); } } var $readingListToast = $("#reading-list-toast"); function showToast(){ $readingListToast.css("display", "flex"); setTimeout(function(){ $readingListToast.addClass("shown"); }, 16); } function hideToast(){ $readingListToast.removeClass("shown"); setTimeout(function(){ $readingListToast.css("display", "none"); }, 150); } function getDeploymentType(){ switch(window.readingListsServerVars.deploymentType){ case "development": case "test": return ReadingLists.DeploymentType.dev; case "qa": return ReadingLists.DeploymentType.qa; case "production": return ReadingLists.DeploymentType.prod; case "docker": return ReadingLists.DeploymentType.docker; default: console.error("Unknown deployment environment, defaulting to production"); return ReadingLists.DeploymentType.prod; } } }); } });
Alexander Granin
Course duration: 41m
Included with a Manning Online subscription
Development
watch
now
with subscription
free
pro $24.99 per month
access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
choose one free eBook per month to keep
exclusive 50% discount on all purchases
lite $19.99 per month
access to all Manning books, including MEAPs!
team
5, 10 or 20 seats+ for your team -
learn more
with subscription
$24.99
click to save
$499.80
(
20%
)
check the box to apply
add to cart
buy now
free with subscription
buy pro subscription
Look inside
Alexander Granin presents a counterpart to Object-Oriented Design, a new methodology that he calls Functional Declarative Design, which helps build real programs with functional programming.
about the instructor
Enter info about author
with subscription
$24.99
click to save
$499.80
(
20%
)
check the box to apply
add to cart
buy now
free with subscription
buy pro subscription
what's a liveVideo?
Quality lessons from expert programmers.
Rich, interactive transcripts for navigation.
Exercise driven learning.
Find out more
×
what's a liveVideo?
related titles
related titles
RECENTLY VIEWED