You are on page 1of 4

Tactics là gì

A tactic provides a scheme for refining the elements of a software system and the
relationships between them.
Sự khác biệt giữa Tactics và pattern
Tactics
+are independent of a particular programming language (patter ở tầng toàn cảnh
kiến trúc hoặc các component cụ thể)
+ patter at the architectural overview layer or specific components

+consist of finer granularity details than architectural patterns

+ directly promote quality attribute properties (patters tác động nhiều thuộc tính
chất lượng)
+ patters impact many quality attributes

+can be used to refine coarse grained design patterns


what are the typcal strateges for making design decisions?
+ structured design
+ Object oriented approaches (ưu điểm hướng đối tượng )
Dựa trên cái này mới quyết định structure nào phù hợp
modifiability
performance
categories of structures
+Static
+Dynamic
+allocation
C&C(component and connecter ) chạy ở runtime
three kinds of structures
+Module structures embody decisions as to how the system is to be structured as
a set of code or data units that have to be constructed or procured.
+ Component-and-connector structures embody decisions as to how the
system is to be structured as a set of elements that have runtime behavior
(components) and interactions (connectors).
+ Allocation structures embody decisions as to how the system will relate
to nonsoftware structures in its environment (such as CPUs, file systems,
networks, development teams, etc.)

Static Structures
+These are the software elements that exist prior to compilation and execution
+That means that static elements are ... code
+Static elements can be called many things including:
Modules
Subsystems
Layers

Dynamic Structures
These are runtime elements (elements that exist during execution)
These are units of execution and could be:
•Threads
•Processes
• "Components" o— think Session or Entity Beans in EJB
Shared data
•"Logical threads" — such as in .Net
Relationships at the highest level are things like:
Messages
Control flow
Data flow
Patterns are common in software architecture designs and are of finer grained
detail than styles.
So sánh patterns vs styles
Styles are general styles and approaches to organizing the source code of an
application. Styles indicate high-level classes and modules and how they interact
with each other. Styles are very abstract concepts and do not provide specific
solutions to recurring problems.
Some examples of styles are: component-based, monolithic, layered, client-
server,..

Patterns are solutions designed for recurring problems in application


development, that can be applied to different styles. Patterns are of finer grained
detail than styles. Patterns come from the practitioners not academia
1
. Some examples of patterns are: MVC, Singleton, Adapter, Observer,..
Một vài pattern thông dụng (slide)

Architectural patterns define (định nghĩa)


• set of elements and responsibilities assigned to the elements
• a set of relationships between the elements
• a topological arrangement of the elements and relations
• semantic rules for how the elements and relations connect,interact, and
transform
some list of architectural patterns
+repository, blackboard
+interpreter, rule-based systems
+layers
+object oriented, main program functional call
An understanding of architectural patterns provides leverage for
• Designers: those architects trying to select structures to meet functional and
quality attribute properties
• Evaluators: those who study architecture designs to ensure that they meet the
functional and quality attribute requirements

You might also like