According to Wikipedia,
ARCHITECTURAL TEMPLATE - A GENERAL, BACKUP SOLUTION FOR A GENERAL VIEW OF THE PROBLEM IN THE ARCHITECTURE OF THE SOFTWARE IN THIS CONTEXT. ARCHITECTURAL SAMPLES APPLY TO THE SOFTWARE SOFTWARE PROJECT, BUT A WIDE AREA IS AVAILABLE.
You have the answer : Will Android support Java 9 after Kotlin updates?
I will briefly talk about the following top 10 architectural programming patterns with their use, pluses and minuses.
1. Layered drawing
This pattern is also known as the n-tier architecture pattern. It can be used to structure programs that can be divided into groups of subtasks, each of which is at a certain level of abstraction. Each level provides services to the next higher level.

The most common 4 levels of the general information system are as follows.
- Presentation layer (also known as user interface layer)
- Application layer (also known as a service layer)
- Business Logic Layer (also known as a Domain Layer)
- Data Access Level (also known as Retention Level)
Using
- General desktop applications.
- Electronic commercial web applications.
See : Android Oreo Vs iOS 11: A Comparison You Should Know About It
2. Client-server template
This scheme consists of two sides; server and several clients. The server component will provide services to several client components. Clients request services from the server and server, providing the corresponding services to these clients. In addition, the server continues to listen for client requests.

Using
- Online applications such as email, document sharing, and banking.
3. Template "Master-slave"
This scheme consists of two sides; master and slaves. The main component distributes the work between identical subordinate components and calculates the final result from the results that the slaves return.

Using
- In database replication, the primary database is considered an authoritative source, and the subordinate databases are synchronized with it.
- Peripherals connected to the bus in a computer system (master and slave).
Recommended : Comparison: Android O Vs Android N
4. Pipe filter structure
This template can be used to structure systems that produce and process data flow. Each processing step is enclosed in a filter component. The data to be processed is piped. These pipes can be used for buffering or for synchronization.

Using
- Compilers. Sequential filters perform lexical analysis, parsing, semantic analysis, and code generation.
- Workflows in bioinformatics.
5. Broker template
This template is used to structure distributed systems with decoupled components. These components can communicate with each other through remote service calls. The component broker is responsible for coordinating the communication between the components.
Servers publish their capabilities (services and features) to the broker. Clients request a service from a broker, and then the broker redirects the client to a suitable service from his registry.

Using
- Message broker software such as Apache ActiveMQ, Apache Kafka, RabbitMQ, and JBoss Messaging.
Did You Know: Problems with Android Oreo - 6 Things You Need to Know
6. Peer to peer diagram
In this pattern, individual components are known as peers. Peer nodes can function as a client, requesting services from other peers and as a server, providing services to other peers. A peer can act as a client or as a server or as both, and it can dynamically change its role over time.

Using
- File-sharing networks such as Gnutella and G2)
- Multimedia protocols such as P2PTV and PDTP.
- Native multimedia apps like Spotify.
7. Bus Event Template
This template is mainly for events and has 4 main components; event source, event listener, channel and event bus. Sources post messages to specific channels on the event bus. Listeners subscribe to certain channels. Listeners are notified of messages that are published on the channel they subscribed to earlier.

Using
- Android development
- Notification Services
8. Model-controller-sample-sample
This template, also known as the MVC template, divides the interactive application into 3 parts as
- model - contains basic functionality and data
- presentation - displays information to the user (more than one type can be defined)
- controller - processes input from the user
This is done to separate the internal representations of information from the ways of presenting and accepting information by the user. It separates the components and allows the efficient use of code.

Using
- The architecture for the World Wide Web applications is in the main programming languages.
- Web frameworks like Django and Rails.
9. Board template
This pattern is useful for problems for which deterministic decision strategies are not known. The board template consists of 3 main components.
- blackboard - structured global memory containing objects from the decision space
- source of knowledge - specialized modules with their own presentation
- control element - selection, configuration and execution of modules.
All components have access to the board. Components can create new data objects that are added to the board. Components look for specific types of data on the board and can find them in a pattern that compares with an existing source of knowledge.

Using
- Speech recognition
- Vehicle Identification and Tracking
- Protein structure identification
- Interpretation of sonar signals.
10. Interpreter pattern
This template is used to design a component that interprets programs written in a special language. It basically defines how to evaluate program strings called sentences or expressions written in a particular language. The basic idea is to have a class for each character in the language.

Using
- Database query languages ββsuch as SQL.
- Languages ββused to describe communication protocols.
Source: Top 10 Architectural Programming Patterns