Adaptive Code Via C#: Agile Coding with Design Patterns and Solid Principles
Gary McLean Hall - 2014
Your process may be agile, but are you building agility directly into the code base? This book teaches .NET programmers how to give code the flexibility to adapt to changing requirements and customer demands by applying cutting-edge techniques, including SOLID principles, design patterns, and other industry best practices.Understand why composition is preferable to inheritance and how flexible the interface really can be Gain deep knowledge of key design patterns and anti-patterns, when to apply them, and how to give their code agility Bridge the gap between the theory behind SOLID principles, design patterns, and industry best practices by pragmatically solving real-world problems Get code samples written in upcoming version of Microsoft Visual C# Topics include: Agile with Scrum process; dependencies and layering; the interface; patterns and anti-patterns; introduction to SOLID principles, including open/closed and dependency interjection; and using application templates
Make It So: Interaction Design Lessons From Science Fiction
Nathan Shedroff - 2012
Freed from the rigorous constraints of designing for real users, sci-fi production designers develop blue-sky interfaces that are inspiring, humorous, and even instructive. By carefully studying these "outsider" user interfaces, designers can derive lessons that make their real-world designs more cutting edge and successful.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
Craig Larman - 2000
Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won’t just learn UML diagrams - you’ll learn how to apply UML in the context of OO software development.Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition’s extensive improvements include:- A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML- New coverage of UML 2, Agile Modeling, Test-Driven Development, and refactoring- Many new tips on combining iterative and evolutionary development with OOA/D- Updates for easier study, including new learning aids and graphics- New college educator teaching resources- Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum- Techniques for applying the UML to documenting architectures- A new chapter on evolutionary requirements, and much moreApplying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects - and creating systems that are well crafted, robust, and maintainable.
Implementing Lean Software Development: From Concept to Cash
Mary Poppendieck - 2006
These principles have revolutionized manufacturing and have been adopted by the most innovative product companies including Toyota and 3M. In 2003 the Poppendieck's published Lean Software Development: An Agile Toolkit which showed how these same lean principles can be successfully applied to software development. Since that publication the authors have increased their understanding of Lean and Agile problems faced by large organizations and have emerged as leading advocates for bringing Lean production techniques to software development. While their first book provides an introduction, theoretical advice and a reference to Lean, this follow-up incorporates their gained knowledge and understanding of what works and goes steps further to provide hands-on guidance for implementing a Lean system. Using historical case studies from prominent companies such as Polaris, Lockheed and Fujistu the authors prove the overall value of Lean practices and shows how to effectively apply these methods to software production.
MongoDB Applied Design Patterns
Rick Copeland - 2013
You’ll learn how to apply MongoDB design patterns to several challenging domains, such as ecommerce, content management, and online gaming. Using Python and JavaScript code examples, you’ll discover how MongoDB lets you scale your data model while simplifying the development process.Many businesses launch NoSQL databases without understanding the techniques for using their features most effectively. This book demonstrates the benefits of document embedding, polymorphic schemas, and other MongoDB patterns for tackling specific big data use cases, including:Operational intelligence: Perform real-time analytics of business dataEcommerce: Use MongoDB as a product catalog master or inventory management systemContent management: Learn methods for storing content nodes, binary assets, and discussionsOnline advertising networks: Apply techniques for frequency capping ad impressions, and keyword targeting and biddingSocial networking: Learn how to store a complex social graph, modeled after Google+Online gaming: Provide concurrent access to character and world data for a multiplayer role-playing game
Jony Ive: The Genius Behind Apple's Greatest Products
Leander Kahney - 2013
Doing something that’s genuinely better is very hard.” —Jony IveIn 1997, Steve Jobs returned to Apple as CEO with the unenviable task of turning around the company he had founded. One night, Jobs discovered a scruffy British designer toiling away at Apple’s corporate headquarters, surrounded by hundreds of sketches and prototypes. It was then that Jobs realized he had found a talent who could reverse the company’s long decline.That young designer was Jony Ive. Jony Ive’s collaboration with Jobs would produce some of the world’s most iconic technology products, including the iMac, iPod, iPad, and iPhone. The designs have not only made Apple a hugely valuable company, they’ve overturned entire industries, built a loyal fan base, and created a globally powerful brand. Along the way, Jony Ive has become the world’s leading technology innovator, won countless design awards, earned a place on the 2013 Time 100 list, and was even knighted for his “services to design and enterprise.”Yet despite his triumphs, little is known about the shy and soft-spoken whiz whom Jobs referred to as his “spiritual partner” at Apple. Jony Ive reveals the true story of Apple’s real innovator-in-chief.Leander Kahney, the bestselling author of Inside Steve’s Brain, offers a detailed portrait of a creative genius. He shows us how Jony Ive went from an English art school student with dyslexia to the man whose immense insights have altered the pattern of our lives. From his early interest in industrial design, fostered by his designer father, through his education at Newcastle Polytechnic and meteoric rise at Apple, we discover the principles and practices that he developed to become the designer of his generation.Based on interviews with Jony Ive’s former colleagues and Kahney’s own familiarity with the world of Apple, this book gives insight into how Jony Ive (now senior vice president of design) has redefined the ways in which we work, entertain, and communicate with one another.
REST in Practice: Hypermedia and Systems Architecture
Jim Webber - 2010
You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design
Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
Harry Percival - 2020
Many Python developers are now taking an interest in high-level software architecture patterns such as hexagonal/clean architecture, event-driven architecture, and strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.With this practical guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity. Each pattern is illustrated with concrete examples in idiomatic Python that explain how to avoid some of the unnecessary verbosity of Java and C# syntax. You'll learn how to implement each of these patterns in a Pythonic way.Architectural design patterns include:Dependency inversion, and its links to ports and adapters (hexagonal/clean architecture)Domain-driven design's distinction between entities, value objects, and aggregatesRepository and Unit of Work patterns for persistent storageEvents, commands, and the message busCommand Query Responsibility Segregation (CQRS)Event-driven architecture and reactive microservices
Designing Web Usability
Jakob Nielsen - 2000
This book is a tutorial and exposition of the principles of Web site design. It aids users in building web sites that stand out from the noise of the web and bring them to the content in an effective and efficient way. This four-color book gives substantial critiques of existing Web site designs.
Continuous Discovery Habits: Discover Products that Create Customer Value and Business Value
Teresa Torres - 2021
The Making of a Manager: What to Do When Everyone Looks to You
Julie Zhuo - 2019
She stared at a long list of logistics--from hiring to firing, from meeting to messaging, from planning to pitching--and faced a thousand questions and uncertainties. How was she supposed to spin teamwork into value? How could she be a good steward of her reports' careers? What was the secret to leading with confidence in new and unexpected situations?Now, having managed dozens of teams spanning tens to hundreds of people, Julie knows the most important lesson of all: great managers are made, not born. If you care enough to be reading this, then you care enough to be a great manager.The Making of a Manager is a modern field guide packed everyday examples and transformative insights, including:* How to tell a great manager from an average manager (illustrations included) * When you should look past an awkward interview and hire someone anyway * How to build trust with your reports through not being a boss * Where to look when you lose faith and lack the answersWhether you're new to the job, a veteran leader, or looking to be promoted, this is the handbook you need to be the kind of manager you wish you had.
Managing Humans: Biting and Humorous Tales of a Software Engineering Manager
Michael Lopp - 2007
Drawing on Lopp's management experiences at Apple, Netscape, Symantec, and Borland, this book is full of stories based on companies in the Silicon Valley where people have been known to yell at each other. It is a place full of dysfunctional bright people who are in an incredible hurry to find the next big thing so they can strike it rich and then do it all over again. Among these people are managers, a strange breed of people who through a mystical organizational ritual have been given power over your future and your bank account.Whether you're an aspiring manager, a current manager, or just wondering what the heck a manager does all day, there is a story in this book that will speak to you.
Designing Bots: Creating Conversational Experiences
Amir Shevat - 2017
In this practical guide, author Amir Shevat shows you how to design and build great conversational experiences and delightful bots that makes people s life more fun and productive.You ll explore several real-world bot examples to understand what works and what doesn t, and learn practical design patterns for your own bot-building toolbox. This book is ideal for beginners and intermediate designers, as well as senior professionals exploring the conversational user experience paradigm. No coding experience or prior knowledge of conversational UI is required.Learn what bots are, and understand bot types and major components that compose a botExplore different use-cases of bots and best practices around these use casesExamine real-life examples and learn from their experienceUnderstand the bot anatomy (Onboarding, Notifications, Conversations, Advance UI controls) and their associated design patternsPrototype your own first bot and experiment with user feedback"
Web Analytics 2.0: The Art of Online Accountability & Science of Customer Centricity [With CDROM]
Avinash Kaushik - 2009
"Web Analytics 2.0" presents a new framework that will permanently change how you think about analytics. It provides specific recommendations for creating an actionable strategy, applying analytical techniques correctly, solving challenges such as measuring social media and multichannel campaigns, achieving optimal success by leveraging experimentation, and employing tactics for truly listening to your customers. The book will help your organization become more data driven while you become a super analysis ninja Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
The Problem with Software: Why Smart Engineers Write Bad Code
Adam Barr - 2018
As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience.Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than "good enough to ship."