Tag

Interface Design

1 views collected around this technical thread.

JD Tech Talk
JD Tech Talk
Apr 10, 2025 · Backend Development

Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions

The article explains why designing RPC interfaces with generic Result objects that contain errorCode, errorMessage and data defeats RPC's purpose, and demonstrates how returning plain business objects and leveraging Java exceptions leads to cleaner, more maintainable backend code.

Exception HandlingInterface DesignRPC
0 likes · 8 min read
Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions
Top Architect
Top Architect
Sep 12, 2024 · Fundamentals

Understanding SPI vs API: Interface Placement and Design Principles

The article explains the distinction between Service Provider Interfaces (SPI) and Application Programming Interfaces (API), discusses three possible package placements for interfaces, outlines rules and advantages of each, and provides guidance on choosing between SPI and API based on extensibility, interaction, and stability.

APIInterface DesignSPI
0 likes · 9 min read
Understanding SPI vs API: Interface Placement and Design Principles
Architect
Architect
Sep 10, 2024 · Fundamentals

Understanding SPI vs API: When to Use Service Provider Interfaces versus Application Programming Interfaces

This article explains the distinction between Service Provider Interfaces (SPI) and Application Programming Interfaces (API), examines where interfaces can be placed in a codebase, outlines their respective rules, compares their trade‑offs, and offers guidance on choosing the appropriate approach in software architecture.

APIDDDInterface Design
0 likes · 6 min read
Understanding SPI vs API: When to Use Service Provider Interfaces versus Application Programming Interfaces
Top Architect
Top Architect
Sep 4, 2023 · Backend Development

Understanding AOP: Interface Design, Joinpoint, and Weaving in Java

This article explains the fundamentals of Aspect‑Oriented Programming in Java, covering the motivation behind AOP, the three main steps of defining join points, the design of Joinpoint interfaces, code examples, and the static and dynamic weaving techniques used by frameworks such as Spring.

AOPAspect-Oriented ProgrammingBackend Development
0 likes · 10 min read
Understanding AOP: Interface Design, Joinpoint, and Weaving in Java
High Availability Architecture
High Availability Architecture
Aug 22, 2023 · Backend Development

Practical Tips for Improving Interface Maintainability in Software Development

This article presents a series of concrete, experience‑driven recommendations—such as embedding documentation links in code comments, publishing source to private repositories, defining constants in parameter classes, handling Map payloads with typed objects, simplifying dependencies, and logging raw request/response data—to enhance the maintainability of backend interfaces throughout the software lifecycle.

API DocumentationBackend DevelopmentInterface Design
0 likes · 15 min read
Practical Tips for Improving Interface Maintainability in Software Development
Selected Java Interview Questions
Selected Java Interview Questions
Jul 13, 2023 · Frontend Development

Guidelines for Frontend‑Backend Separation and API Specification (V1.0.0)

This article discusses the evolution from MVC‑based backend‑centric development to modern frontend‑backend separation, explains the benefits of clear responsibility division, outlines the SPA era with Ajax, and provides a detailed V1.0.0 API specification including request/response formats, pagination, and special field conventions.

APIInterface DesignSPA
0 likes · 11 min read
Guidelines for Frontend‑Backend Separation and API Specification (V1.0.0)
Architecture Digest
Architecture Digest
Sep 16, 2022 · Backend Development

Front‑Back End Separation: Principles, Practices, and API Specification (v1.0.0)

The article explains why front‑back end separation is needed, describes the evolution from MVC to SPA, outlines responsibility separation, development workflow, and presents a detailed API specification including request/response formats, pagination, and special data handling rules.

APIInterface DesignMVC
0 likes · 10 min read
Front‑Back End Separation: Principles, Practices, and API Specification (v1.0.0)
Architects Research Society
Architects Research Society
Apr 29, 2022 · Fundamentals

Design Patterns for Enterprise Service Environments and MITRE System Engineering

This article explains software design patterns, their origins, key examples, and how MITRE system engineers can apply them to manage coupling and interface design in large enterprise service environments, emphasizing loose coupling, best‑practice guidelines, and practical lessons learned.

Interface Designcouplingdesign patterns
0 likes · 13 min read
Design Patterns for Enterprise Service Environments and MITRE System Engineering
Architecture Digest
Architecture Digest
Apr 28, 2022 · Backend Development

Comprehensive Domain Interface Design and Its Application in Backend Systems

This article explores the concept of fully interface‑based domain modeling, demonstrates how to design domain objects as interfaces, shows repository implementations for JPA, MyBatis and Elasticsearch, discusses association handling, and explains how such designs enable seamless switching between monolithic, clustered and microservice deployments.

Backend DevelopmentDomain-Driven DesignInterface Design
0 likes · 11 min read
Comprehensive Domain Interface Design and Its Application in Backend Systems
Bitu Technology
Bitu Technology
Jan 11, 2022 · Backend Development

Interface‑Driven Design for Scalable Media File Migration in Elixir and Ruby

The talk explains how Tubi's Multimedia Processing Platform uses an interface‑driven architecture, Elixir protocols, and composable movers and comparators to migrate petabyte‑scale video files across cloud storage while balancing performance, cost, and testability, offering practical insights for Ruby and backend engineers.

Backend DevelopmentElixirFile Migration
0 likes · 13 min read
Interface‑Driven Design for Scalable Media File Migration in Elixir and Ruby
Selected Java Interview Questions
Selected Java Interview Questions
Nov 7, 2021 · Backend Development

Do Service and DAO Layers Need Interfaces? When to Omit Them in Spring Projects

This article examines whether Service and DAO layers in Java Spring applications must always have interfaces, explains why dependency‑injection frameworks make interfaces optional, discusses development workflows, multiple‑implementation scenarios, project structuring options, and outlines the trade‑offs of using or not using interfaces.

Backend DevelopmentInterface DesignService Layer
0 likes · 9 min read
Do Service and DAO Layers Need Interfaces? When to Omit Them in Spring Projects
IT Architects Alliance
IT Architects Alliance
Aug 22, 2021 · Backend Development

Domain Interface Design and Its Application in Backend Systems

The article explains how designing domain models as interfaces, rather than concrete classes, improves flexibility in backend architectures by simplifying data exchange, supporting multiple persistence technologies, and enabling seamless deployment across standalone, clustered, and micro‑service environments.

Domain-Driven DesignInterface DesignJPA
0 likes · 9 min read
Domain Interface Design and Its Application in Backend Systems
Top Architect
Top Architect
Aug 19, 2021 · Backend Development

Comprehensive Domain Interface Design and Implementation in Java Backend Systems

This article explores comprehensive domain interface design in Java backend development, showing how to model domain objects as interfaces, implement repositories for JPA, MyBatis, and Elasticsearch, handle associations with JPA annotations, and apply these patterns in the open‑source Mallfoundry e‑commerce platform.

Domain-Driven DesignElasticsearchInterface Design
0 likes · 8 min read
Comprehensive Domain Interface Design and Implementation in Java Backend Systems
Top Architect
Top Architect
May 31, 2021 · Backend Development

Do Service and DAO Layers Need Interfaces? A Practical Discussion for Java Backend Projects

This article examines whether Service and DAO layers in Java backend projects require interfaces, arguing that with dependency‑injection frameworks like Spring the interfaces are often unnecessary, while outlining development workflows, project structures, and scenarios where interfaces remain useful.

Interface DesignService LayerSpring
0 likes · 8 min read
Do Service and DAO Layers Need Interfaces? A Practical Discussion for Java Backend Projects
Continuous Delivery 2.0
Continuous Delivery 2.0
Apr 28, 2020 · Fundamentals

Google’s Approach to Code Health: Readable, Maintainable, and Simple Code Practices

The article outlines Google’s philosophy on code health, emphasizing readable, maintainable, stable, and simple code, and provides practical guidance on writing understandable code, designing robust interfaces, and avoiding primitive obsession to improve developer productivity and software quality.

Best PracticesCode readabilityInterface Design
0 likes · 9 min read
Google’s Approach to Code Health: Readable, Maintainable, and Simple Code Practices
360 Quality & Efficiency
360 Quality & Efficiency
Mar 4, 2019 · Fundamentals

GUI Testing: Usability, Conformity, Help Facilities, and Rationality Guidelines

This article provides comprehensive guidelines for GUI testing, covering usability principles, conformity standards, help facility requirements, and rational layout rules to improve software interface design and user experience.

GUI testingInterface Designhelp documentation
0 likes · 8 min read
GUI Testing: Usability, Conformity, Help Facilities, and Rationality Guidelines
Zhuanzhuan Tech
Zhuanzhuan Tech
Dec 14, 2018 · Backend Development

Improving Development Efficiency through Business Domain Modeling and Interface Design

The article explains how fast iteration, thorough business domain modeling, layered module design, minimal‑responsibility interfaces, and automated exception feedback can together boost backend development productivity and reduce maintenance costs in modern software projects.

Exception HandlingInterface Designbackend architecture
0 likes · 9 min read
Improving Development Efficiency through Business Domain Modeling and Interface Design
Zhuanzhuan Tech
Zhuanzhuan Tech
Nov 7, 2017 · Backend Development

Best Practices for Developing Scalable, High‑Performance Backend Services

This article outlines essential principles for building extensible, high‑performance online services, covering interface design, coding standards, caching strategies, and logging practices to reduce bugs and simplify development and maintenance.

Best PracticesCachingInterface Design
0 likes · 9 min read
Best Practices for Developing Scalable, High‑Performance Backend Services
Architecture Digest
Architecture Digest
Mar 15, 2017 · Fundamentals

The Importance of a Unified Language and Model‑Driven Design in Large‑Scale Distributed Systems

This article discusses the challenges of building large distributed systems, emphasizing the need for a unified internal language, model‑driven design, layered architecture, and clear interface design principles to improve communication, maintainability, and scalability.

Domain-Driven DesignInterface Designlayered architecture
0 likes · 14 min read
The Importance of a Unified Language and Model‑Driven Design in Large‑Scale Distributed Systems
Qunar Tech Salon
Qunar Tech Salon
Nov 19, 2014 · Fundamentals

Characteristics of Good Interfaces and Core Design Principles

The article outlines the essential traits of high‑quality interfaces, describes a step‑by‑step process for designing and implementing them, and presents fundamental principles for interface, class, and method design to ensure usability, maintainability, and robustness in software development.

API designBest PracticesInterface Design
0 likes · 4 min read
Characteristics of Good Interfaces and Core Design Principles