首頁(yè) > 計(jì)算機(jī)網(wǎng)絡(luò) >
編程語(yǔ)言與程序設(shè)計(jì)
> Design Patterns and Best Practices in Java最新章節(jié)目錄
舉報(bào)

會(huì)員
Design Patterns and Best Practices in Java
Havingaknowledgeofdesignpatternsenablesyou,asadeveloper,toimproveyourcodebase,promotecodereuse,andmakethearchitecturemorerobust.Aslanguagesevolve,newfeaturestaketimetofullyunderstandbeforetheyareadoptedenmasse.Themissionofthisbookistoeasetheadoptionofthelatesttrendsandprovidegoodpracticesforprogrammers.WefocusonshowingyouthepracticalaspectsofsmartercodinginJava.We'llstartoffbygoingoverobject-oriented(OOP)andfunctionalprogramming(FP)paradigms,movingontodescribethemostfrequentlyuseddesignpatternsintheirclassicalformatandexplainhowJava’sfunctionalprogrammingfeaturesarechangingthem.YouwilllearntoenhanceimplementationsbymixingOOPandFP,andfinallygettoknowaboutthereactiveprogrammingmodel,whereFPandOOPareusedinconjunctionwithaviewtowritingbettercode.Gradually,thebookwillshowyouthelatesttrendsinarchitecture,movingfromMVCtomicroservicesandserverlessarchitecture.WewillfinishoffbyhighlightingthenewJavafeaturesandbestpractices.Bytheendofthebook,youwillbeabletoefficientlyaddresscommonproblemsfacedwhiledevelopingapplicationsandbecomfortableworkingonscalableandmaintainableprojectsofanysize.
目錄(314章)
倒序
- 封面
- 版權(quán)信息
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the authors
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- From Object-Oriented to Functional Programming
- Java – an introduction
- Java programming paradigms
- Imperative programming
- Real-life imperative example
- Object-oriented paradigm
- Objects and classes
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- Declarative programming
- Functional programming
- Working with collections versus working with streams
- An introduction to Unified Modeling Language
- Class relations
- Generalization
- Realization
- Dependency
- Association
- Aggregation
- Composition
- Design patterns and principles
- Single responsibility principle
- Open/closed principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency inversion principle
- Summary
- Creational Patterns
- Singleton pattern
- Synchronized singletons
- Synchronized singleton with double-checked locking mechanism
- Lock-free thread-safe singleton
- Early and lazy loading
- The factory pattern
- Simple factory pattern
- Static factory
- Simple factory with class registration using reflection
- Simple factory with class registration using Product.newInstance
- Factory method pattern
- Anonymous concrete factory
- Abstract factory
- Simple factory versus factory method versus abstract factory
- Builder pattern
- Car builder example
- Simplified builder pattern
- Anonymous builders with method chaining
- Prototype pattern
- Shallow clone versus deep clone
- Object pool pattern
- Summary
- Behavioral Patterns
- The chain-of-responsibility pattern
- Intent
- Implementation
- Applicability and examples
- The command pattern
- Intent
- Implementation
- Applicability and examples
- The interpreter pattern
- Intent
- Implementation
- Applicability and examples
- The iterator pattern
- Intent
- Implementation
- Applicability and examples
- The observer pattern
- Intent
- Implementation
- The mediator pattern
- Intent
- Implementation
- Applicability and examples
- The memento pattern
- Intent
- Implementation
- Applicability
- The state pattern
- The strategy pattern
- Intent
- Implementation
- The template method pattern
- Intent
- Implementation
- The null object pattern
- Implementation
- The visitor pattern
- Intent
- Implementation
- Summary
- Structural Patterns
- Adapter pattern
- Intent
- Implementation
- Examples
- Proxy pattern
- Intent
- Implementation
- Examples
- Decorator pattern
- Intent
- Implementation
- Examples
- Bridge pattern
- Intent
- Implementation
- Examples
- Composite pattern
- Intent
- Implementation
- Examples
- Fa?ade pattern
- Intent
- Implementation
- Examples
- Flyweight pattern
- Intent
- Implementation
- Examples
- Summary
- Functional Patterns
- Introducing functional programming
- Lambda expressions
- Pure functions
- Referential transparency
- First-class functions
- Higher-order functions
- Composition
- Currying
- Closure
- Immutability
- Functors
- Applicatives
- Monads
- Introducing functional programming in Java
- Lambda expressions
- Streams
- Stream creator operations
- Stream intermediate operations
- Stream terminal operations
- Re-implementing OOP design patterns
- Singleton
- Builder
- Adapter
- Decorator
- Chain of responsibility
- Command
- Interpreter
- Iterator
- Observer
- Strategy
- Template method
- Functional design patterns
- MapReduce
- Intent
- Examples
- Loan pattern
- Intent
- Examples
- Tail call optimization
- Intent
- Examples
- Memoization
- Intent
- Examples
- The execute around method
- Intent
- Examples
- Summary
- Let's Get Reactive
- What is reactive programming?
- Introduction to RxJava
- Installing the RxJava framework
- Maven installation
- JShell installation
- Observables Flowables Observers and Subscriptions
- Creating Observables
- The create operator
- The defer operator
- The empty operator
- The from operator
- The interval operator
- The timer operator
- The range operator
- The repeat operator
- Transforming Observables
- The subscribe operator
- The buffer operator
- The flatMap operator
- The groupBy operator
- The map operator
- The scan operator
- The window operator
- Filtering Observables
- The debounce operator
- The distinct operator
- The elementAt operator
- The filter operator
- The first/last operator
- The sample operator
- The skip operator
- The take operator
- Combining Observables
- The combine operator
- The join operator
- The merge operator
- The zip operator
- Error handling
- The catch operator
- The do operator
- The using operator
- The retry operator
- Schedulers
- Subjects
- Example project
- Summary
- Reactive Design Patterns
- Patterns for responsiveness
- Request-response pattern
- Asynchronous-communication pattern
- Caching pattern
- Fan-out and quickest-reply pattern
- Fail-fast pattern
- Patterns for resilience
- The circuit-breaker pattern
- Failure-handling pattern
- Bounded-queue pattern
- Monitoring patterns
- Bulkhead pattern
- Patterns for elasticity
- Single responsibility pattern
- Stateless-services pattern
- Autoscaling pattern
- Self-containment pattern
- Patterns for message-driven implementation
- Event-driven communication pattern
- Publisher-subscriber pattern
- Idempotency pattern
- Summary
- Trends in Application Architecture
- What is application architecture?
- Layered architecture
- Layered architecture with an example
- Tiers versus layers
- What does layered architecture guarantee?
- What are the challenges with layered architecture?
- Model View Controller architecture
- MVC architecture with an example
- A more contemporary MVC implementation
- What does MVC architecture guarantee?
- What are the challenges with MVC architecture?
- Service-oriented architecture
- Service-oriented architecture with an example
- Web services
- SOAP versus REST
- Enterprise service bus
- What does service-oriented architecture guarantee?
- What are the challenges with service-oriented architecture?
- Microservices-based Architecture
- Microservice architecture with an example
- Communicating among services
- What does microservices-based architecture guarantee?
- What are challenges with microservices-based architecture?
- Serverless architecture
- Serverless architecture with an example
- Independence from infrastructure planning
- What does serverless architecture guarantee?
- What are the challenges with serverless architecture?
- Summary
- Best Practices in Java
- A brief history of Java
- Features of Java 5
- Features of Java 8
- Currently supported versions of Java
- Best practices and new features of Java 9
- Java platform module system
- JShell
- Private methods in interfaces
- Enhancements in streams
- Creating immutable collections
- Method addition in arrays
- Additions to the Optional class
- New HTTP client
- Some more additions to Java 9
- Best practices and new features of Java 10
- Local variable type inference
- copyOf method for collections
- Parallelization of full garbage collection
- Some more additions to Java 10
- What should be expected in Java 11?
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時(shí)間:2021-06-25 20:53:16
推薦閱讀
- ASP.NET 3.5程序設(shè)計(jì)與項(xiàng)目實(shí)踐
- Modern JavaScript Applications
- 零基礎(chǔ)學(xué)Python網(wǎng)絡(luò)爬蟲(chóng)案例實(shí)戰(zhàn)全流程詳解(入門(mén)與提高篇)
- SSM開(kāi)發(fā)實(shí)戰(zhàn)教程(Spring+Spring MVC+MyBatis)
- Java程序設(shè)計(jì)案例教程
- Developing SSRS Reports for Dynamics AX
- Django 3.0入門(mén)與實(shí)踐
- HTML5+CSS3+jQuery Mobile APP與移動(dòng)網(wǎng)站設(shè)計(jì)從入門(mén)到精通
- 算法設(shè)計(jì)與分析:基于C++編程語(yǔ)言的描述
- JQuery風(fēng)暴:完美用戶體驗(yàn)
- JavaScript悟道
- Java程序設(shè)計(jì)及應(yīng)用開(kāi)發(fā)
- Learning Zimbra Server Essentials
- HTML5+CSS+JavaScript深入學(xué)習(xí)實(shí)錄
- Microsoft Hyper-V PowerShell Automation
- C語(yǔ)言開(kāi)發(fā)入門(mén)教程
- 鋒利的SQL
- C程序員從校園到職場(chǎng)
- Professional Azure SQL Database Administration
- Learning Puppet for Windows Server
- Mastering Software Testing with JUnit 5
- Getting Started with Meteor.js JavaScript Framework(Second Edition)
- 思維訓(xùn)練啟蒙新觀念:青少年P(guān)ascal語(yǔ)言編程搶先起跑一路通
- AR界面設(shè)計(jì)
- Learning SAP BusinessObjects Dashboards
- C語(yǔ)言從入門(mén)到項(xiàng)目實(shí)踐(超值版)
- Building Smart Homes with Raspberry Pi Zero
- Visual FoxPro 6.0程序設(shè)計(jì)
- Exploring Data with RapidMiner
- Apache Spark 2:Data Processing and Real-Time Analytics