當前位置:首頁 » 英文介紹 » 怎麼用英語介紹數據結構

怎麼用英語介紹數據結構

發布時間: 2022-09-03 18:34:59

A. 請問有數據結構和計算機英語的高人么

收件一個簡單的計算器程序,需要投入的綴表達,和產出相當於後綴表達和評價中綴表達式。假設輸入可能包含(浮動)數量,算術運算+,-,*,和/ ,以及括弧內。然而,表達不一定要充分括弧,在括弧內丟失,通常C + +的優先規則來確定的順序評價。當一個無效的中綴表達式輸入,然後錯誤訊息將印刷和用戶將重新提示進入了一個新綴的表達。該計劃將繼續下去,直到用戶輸入鍵( ' \ ñ ' )沒有表情。這是介紹, 1 。轉換一個有效的中綴表達了相應的後綴表達和列印到標准輸出(法院) 。
2 。評估有效綴表達和印刷品的價值標准輸出(法院) 。
3 。錯誤檢查無效綴表達式。
4 。必須使用的STL堆棧級
5 。 Compilable和運行的曼寧。
6 。按照正常的C + +的優先規則。
7 。處理雙號碼。

B. 「數據結構」用英語該怎麼說啊

Data Structure

C. 請用兩三句英語簡單介紹一下下列課程(計算機課程)

高等數學 Higher --主要部分是微積分,所有理工科都要學會的,它是近代所有科學的基石

模擬電子技術 mathematical simulation electronic --素來有「魔鬼模電」之說,是因為這門課概念深奧難懂

大學IT university IT 這個...這個涉及一些最新的IT信息的

C語言 C language 最流行的編程語言之一,入門一般都學這個,既是高級語言,又有匯編語言的特點

高等數學 Higher mathematics 上面講了

面向對象程序設計 object-oriented programming 一般開C++課講面向對象編程, 它的基本概念很復雜,你知道,它的思想跟面向過程不同就行了,是高級語言.

匯編語言 assembly language 是低級語言,也就是直接跟硬體打交道的語言,非常重要的

VFP程序設計 VFP programming 新東西,一種新的程序語言

數字電子技術 numeral electronic technology 先學了模電就學數電,學硬體方向的這個是必學,要學通肯定不容易

計算機組成原理 computer composition principle 講計算機組成的基本知識

離散數學 discrete mathematics 一切工科都有數學基礎的,計算機科學的基礎就是離散數學.

數據結構 The construction of data 如其名,講的是數據信息之間的關系和結構的

計算機網路 computer network 網路是由通信工程,硬體工程和軟體工程的結晶,
講計算機網路的基本知識的

操作系統JAVA語言 operating system JAVA language 面向過程的語言

微機原理與介面技術 microcomputer principle and the connection technology 講微型計算機體系結構和組成部分的.

程序綜合課程設計procere comprehensive curriculum designs 如其名,圍繞一個項目,如何編程

資料庫系統原理 Database system principle 當然是講資料庫的了,資料庫那麼多,應該是挑些企業級的資料庫來講

編譯原理translation principle 講計算機程序的一些內部機制的,很抽象,

演算法設計與分析Algorithm design and analysis 關於程序設計當然會開一門來講編程的思想跟方法的

計算機圖形學Computer graphics 簡單地說,計算機圖形學一個主要的目的就是要利用計算機產生令人賞心悅目的真實感圖形.

概率 probability 基礎課,理工科必學,講概率論與數理統計的基本知識

網頁設計homepage design 這個學校也開?一般都自己學,因為不是計算機系的學生兩天都能做出網頁,還開什麼課?

人工智慧artificial intelligence 是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學. 如果聽說過圖靈機就知道怎麼回事,如果沒聽說過也沒關系.

軟體開發技術與實訓The software development technology and really teaches 實踐的,講開發的了,講是沒有用的,出來幹了才知道怎麼回事.

網路資料庫Network database 網路上的資料庫跟各個點的數據的關系

網路工程 network project 如其名,涉及網路技術的

軟體工程 software engineering 如其名,講軟體技術的

Linux操作系統Linux operating system 學linux的人比較少,一種類Unix的開源系統,一般學校也開Unix的課

計算機系統維護 computer system maintenance 系統維護有什麼好講的啊,老師講的未必比學生知道的多.

---------------
打了那麼多字,真個累.

D. 1. 什麼叫數據結構 試舉一身邊的簡單例子說明。

數據結構身邊的例子?
比如說
你的考試成績
有語文成績
數學成績
英語成績
。。。。。
這些都是數據元素
還有你的個人的學號
你的名字
這些也是數據元素
你們班不只是你一個人考試
還有李四的,王五的
他們的數據裡面也包含跟你同樣的數據元素
你們班的成績中個人的成績就是一個數據項
上面的都是數據結構了
結構有大有小
然後這個結構裡面的數據參與運算
比如說
排序,查找,刪除等等

可能理解有誤
不過也沾邊了

E. 請問,復變函數,離散數學,數據結構,怎麼譯成英語

復變函數Complex Function
離散數學Discrete Mathematics
數據結構Data Structure (DS)
其他都可在網上搜,先輸漢語,再加個你知道的單詞,如常微分方程,搜「常微分方程 equation」即可。

F. 好心人幫我用英語翻譯一下這段概述,謝謝。

When people from different perspectives to describe the concept has a different definition (of course, are descriptive). For example, saying the database is a "record-keeping system" (emphasis in the definition of the database is a collection of a number of records). Another example is the database that are "people to solve specific tasks, must be organized in a manner so as to store with a collection of relevant data" (the definition of focus on data organization). Even worse, said the database is "a data warehouse." Of course, this argument although the image, but not strict.
Strictly speaking, the database is "in accordance with the data structure to organize, store and manage data warehouses." In the economic management of their daily work, usually need to put some relevant data in such a "warehouse", and in accordance with management's need for appropriate treatment. For example, enterprises or institutions usually the personnel department to the basic conditions of employees (No. of workers, name, age, sex, native place, wages, curriculum vitae, etc.) stored in the table, this table can be seen as a database . With this "data warehouse" we can at any time necessary inquiries in accordance with the basic situation of a trade union, but also can search for wages at a certain number of employees within the scope of and so on. If these tasks can be automated in the computer on, and that U.S. personnel management can achieve very high levels. In addition, financial management, warehouse management, proction management is also necessary to establish a large number of such "database" so that it can make use of the computer implementation of financial, warehouse, proction automation management.
J. Martin to the database under a relatively complete definition: database are stored together a collection of relevant data, the data are structured, non-harmful or unnecessary rendancy, and for a variety of applications services; data storage independent of the use of its proceres; on the database to insert new data, modify and retrieve the original data were in accordance with a common and controlled manner. When a system structures exist on the number of completely separate database, the system contains a "database collection."
The main features of the database
(1) data sharing implementation.
Sharing of data includes all users can simultaneously access the data in the database, users can also include a variety of ways using the database through the interface and to provide data sharing.
(2) to rece data rendancy.
Compared with the file system, because of the database implementation of data sharing, thus avoiding the user set up their own application files. Substantial rection of plicate data, reced data rendancy, maintain data consistency.
(3) data independence.
The independence of data, including database logical structure of databases and applications independent of each other, but also physical changes in the structure of the data does not affect the logical structure of data.
(4) centralized control of data implementation.
Document management approach, the data in a decentralized status, different users or the same user at different treatment of no relation between their document. Use of the database, the data centralized control and management, and data model that the organization of various data and data linkages.
(5) data consistency and maintainability, to ensure data security and reliability.
Mainly include: ① security control: in order to prevent data loss, error updating and the use of ultra vires; ② the integrity of control: to ensure data accuracy, effectiveness and compatibility; ③ Concurrency Control: To enable at the same time period, allowing for achieve multiple access data, but also prevent users from abnormal interaction between; ④ fault discovery and recovery: from the database management system to provide a method to detect faults and repair, thereby preventing destruction of data

Little reward, at Sina love me question many of the points, we can go that translation, thank you.
Emergency

G. 介紹用英語怎麼說

介紹的英語翻譯是。

詞彙分析

音標:英[ɪntrə'djuːs]美[ˌɪntrə's]

釋義:介紹;引進;提出;採用

短語

ntroce proct商展中介紹產品 ; 商展中先容產品 ; 產品介紹 ; 外牆乳膠漆產品介紹

Introce youself自我介紹 ; 成員自我展示中心

client introce客戶介紹

Introce Parameter採用參數將區域變數改成參數方式傳遞

Introce Refrigerators介紹冰箱

拓展資料

1、Allow me to introce a friend to you.

讓我給你介紹一個朋友。

2、However, in this section, we simply introce the ideas behind it.

不過,在此部分中我們將僅僅介紹其背後的理念。

3、On his first day as the new-comer,he breezed through the office to introce himself.

他作為新來者上班後的第一天在辦公室呆了一會兒,作了自我介紹。

4、As you like music, you can introce some famous singers to me.

因為你喜歡音樂,你可以給我介紹一些著名的歌手吧。

5、「Introce yourself, 」 I say when they forget.

「介紹下你自己,」當他們忘記時我說。

H. 怎麼用英語描述以下計算機專業課程啊

高等數學 Higher Mathematics
This course enables you to build on your previous mathematical experience in the areas of algebra, geometry and trigonometry and introces you to elementary calculus. The study of Mathematics provides you with many valuable skills. It is often very important when seeking employment or entry to further or higher ecation and is an important part of your general ecation.

模擬電子技術 Analog Electronic Technology
This course covers complex semiconctor electronic circuits to include application of field-effect transistor circuitry, amplitude/phase shift response of transistor amplifiers, integrated circuits, negative and positive feedback circuits, active filters, instrial control circuits, switching power supplies, voltage regulators, operational amplifiers, spectrum analysis, and harmonic distortion. The course offers practical hands-on experience using an array of test equipment and assigned laboratory projects incorporated to supplement classroom lectures.

大學IT university IT
This course is for students interested in pursuing a career in the field of Information Technology. Students will be introced to the four career clusters in information technology to determine where their interests lie. Students will complete assignments and projects in interactive media, information support and services, network systems and, programming and software development.

C語言 C language
This course provides a solid introction to all the fundamental aspects of C, including elementary data types; arithmetic, logical, and bitwise operators; control-flow statements; functions; structures; pointers; program scope rules; good program design practices; and C debugging techniques. Emphasis is on ANSI-standard C, but earlier versions of C are also discussed. No computing facilities are provided; each participant is required to have access to a C compiler and hard- output device for programming assignments.

高等數學 Higher mathematics (第一個就介紹了)

面向對象程序設計 object-oriented programming
A course that focuses on introcing students to computer science through object-oriented design and programming, using Java. The course features an "objects first" approach to object-oriented programming (OOP), starting with objects, classes and methods, and then moves on to inheritance, interfaces and polymorphism, before covering traditional topics such as arithmetic and flow-of-control. OOP is then used to teach simple 2D graphics and graphical user interfaces, and the course finishes up with an overview of basic data structures, exceptions and file I/O. The course reinforces concepts with practical exercises in weekly laboratory sessions (under the supervision of undergraate teaching assistants) and with challenging and engaging programming assignments such as Tetris, all of which have GUIs.

匯編語言 assembly language
An introction to assembly language for mainframes or PC's. Topics include internal representation of data, arithmetic operations, logic statements, and general assembly language commands. Introce low level language architecture including assemblers, linkage editors, and loaders.

VFP程序設計 VFP programming
You will learn to plan, create, and modify tables, views and databases and create forms. You will use the Application Wizard and Builder to build applications quickly. Create information from your data with queries and reports. Understand the fundamentals of programming including operators, expressions, program flow, branching and looping. Be proctive working with code using IntelliSense, Quick Info, hyperlinks, keyboard shortcuts, Beautify, document view and bookmarks. Manage programming tasks with the Task List Manager.

數字電子技術 Digital Electronic Technology
Introction to basic concepts in digital electronics. Basic discrete electronics, digital logic, circuit laws, components, troubleshooting and use of test equipment. Digital components, digital architecture, digital systems, troubleshooting and use of test equipment. Hands-on experience, practical applications and projects.

計算機組成原理 computer composition principle
This course introce the principle of computer composition. It is very useful for computer science students to know computer and for the better use in both hardware and software.

離散數學 discrete mathematics
The purpose of this course is to understand and use (abstract) discrete structures that are backbones of computer science. In particular, this class is meant to introce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.

數據結構 Data Structure
Data abstraction with formal specification. Elementary algorithm analysis. Basic concepts of data and its representation inside a computer. Linear, linked, and orthogonal lists; tree structures. An overview of the structure and implementation of data structures, including lists, trees, heaps, and tables, and an examination of searching, sorting and other algorithms, including implementation and analysis of their efficiency.

計算機網路 computer network
Principles, design, implementation, and performance of computer networks. Topics include: Internet protocols and routing, local area networks, TCP, performance analysis, congestion control, switching and routing, mobile IP, peer-to-peer overlay networks, network security, and other current research topics.

操作系統JAVA語言 operating system JAVA language
Use Java to teach the principles of concurrent programming, not in particularly operating-systems related context, to write indivial operating system components. For example, it is possible to write a file system in Java. Use Java to write a simulator for a full operating system, including the machine it is running on, to write programs that make non-trivial use of operating-system services (such as network communication) in order to teach more about those services.

微機原理與介面技術 microcomputer principle and the connection technology
Introction to microcomputer hardware and software. Topics include computer fundamentals, word processing, electronic spreadsheets, data bases, and other microcomputer application areas. Students will study additional concepts of microcomputers and microcomputer applications software including: word processing, spreadsheets, databases, and presentation software, emphasizing more advanced applications and integration of the packages in dealing with typical professional usage.

程序綜合課程設計procere comprehensive curriculum designs
Introction to problem-solving with algorithm and program development. Includes: problem analysis, algorithm representation and verification, scalar and structured data types, file input and output, techniques for program design, coding, testing, and documentation and basic sorting, and searching algorithms. Study of algorithmic design, implementation, and analysis including object oriented design and implementation, abstract data types, stacks, queues, and linked structures

資料庫系統原理 Database system principle
This course is for students interested in the design of database management systems to obtain integrity and availability of data. We will focus mainly on relational data models and relational query operations, together with SQL for data definitions and queries. We will discuss design methods including the entity-relationship model and relational normalization theory. We will also discuss how data is stored and indexed and how queries are processed and optimized. Students undertake a semester project that includes the design and implementation of a database system. We will touch upon advanced topics such as object-oriented databases as time permits.

編譯原理Complier Construction Principles

Acquire the practical skills to write a simple compiler for an imperative programming language. Understand the concepts of scanning, parsing, name management in nested scopes, and code generation. Learn to transfer the skills also to general software engineering tasks (e.g. parsing of structured data files or argument lists)

演算法設計與分析 design and analysis of algorithm
An advanced, in-depth study of the design and analysis of algorithms. 'Topics include models of computation, sorting, data structures, graph algorithms, matrix multiplication, fast Fourier transforms, polynomial arithmetic, pattern matching, and NP-complete problems.

計算機圖形學Computer graphics
This course will provide an introction to graphics systems and applications. Basic structure of interactive graphics systems, characteristics of various hardware devices. Control of display devices, implementation of simple packages, device independence, and standard packages. Distributed architectures for graphics, hidden line and hidden surfaces algorithms, representation of surfaces.

概率 probability
The course covers the basic principles of the theory of probability and its applications. Topics include combinatorial analysis used in computing probabilities, the axioms of probability, conditional probability and independence of events; discrete and continuous random variables; joint, marginal, and conditional densities, moment generating function; laws of large numbers; binomial, Poisson, gamma, univariate, and bivariate normal distributions

網頁設計 web page design
The course is designed to provide the necessary skills and training for an entry-level position in the field of Web Design. Learn to develop and maintain Web sites for a corporation or your own small business.
The class focuses on Web page planning, basic design, layout and construction, and setup and maintenance of a Web site. HTML/XHTML, Cascading Style Sheets, Dreamweaver, Fireworks, Flash, Photoshop, Illustrator, InDesign, PHP, MySQL and various other Web page and image creation tools are taught in the course.

人工智慧artificial intelligence
The incorporation of advanced techniques in reasoning and problem solving into modern, complex systems has become pervasive. Often, these techniques fall within the realm of artificial intelligence. This course focuses on artificial intelligence from an agent perspective, and explores issues of knowledge representation and reasoning. Students will participate in lectures and discussions on various topics, including heuristic and stochastic search, logical and probabilistic reasoning, planning, learning, and perception. Advanced topics will be selected from areas such as robotics, vision, natural language processing, and philosophy of mind. Students will complete problem sets and small software projects to gain hands-on experience with the techniques and issues covered.

軟體開發技術與實訓 Software development technology and practic
The overall purpose of the course is to give an understanding of the problems of large-scale software development and how this can be solved using object-oriented techniques. The main aim of the mole is to teach the understanding and use of object-oriented methods to analyze, specify, design and implement large computer systems.

網路資料庫Network database
This course introces the database that runs in a network and holds addresses of other users in the network. It includes a database organization method that allows for data relationships in a net-like form. A single data element can point to multiple data elements and can itself be pointed to by other data elements.

網路工程 network engineering
Network Engineering provides the basic networking and computing infrastructure for campus, from securing and managing bandwidth to providing DNS, DHCP, email, backups and more.

軟體工程 software engineering
This course is about problems we face when constructing large software systems. Students will learn about various methodologies used in all parts of the software life cycle. We will illustrate the use and application of these methodologies by examining how they can be supported by the Java language. By the end of the semester students will have acquired a strong grounding in object-oriented design in Java and, more generally, improved their skills for programming in the large. We will study several topics related to software design, including: Inheritance, Exceptions, Namespaces, Abstract Types, Representation Invariants, Procere Specifications, Object Models, Data Models, Design Patterns, Design Strategy.

Linux操作系統Linux operating system
This course will provide the basics of the UNIX/Linux operating system, including the history and the use of Linux with hands-on experience using commands and files. Topics to be covered include basic Linux commands, text editing, files and directories, electronic mail, pipes and filters, and shell programming.

計算機系統維護 computer system maintenance
This course focuses on basic computer hardware and software systems. Subjects include hardware systems and subsystems found in personal computers, digital numbering systems, and personal computer operating systems. Curriculum includes on-line content delivery, and in class hands-on labs.

I. 尋求一有關計算機方面的介紹的英語作文

We build computer to solve problems.Early computer solved mathematical and engineering problems,and later computers emphasized information processing for business applications.T-

oday,computers also control machines as diverse as automobile engines,robots,and microwave ovens. A computer system solves a problem from any of these domains by accepting input,processing it,and procing output. Fig. 1-1 illustrates the function of a computer system.

Computer systems consist of hardware and software. Hardware is the physical part of the system. Once designed,hardware is difficult and expensive to change. Software is the set of programs that instruct the hardware and is easier to modify than hardware. Computers are valuable because they are general-purpose machines that can solve many different kinds of problems,as opposed to special-purpose machines that can each solve only one kind of problem. Different problems can be solved with the same hardware by supplying the system with a different set of instructions.that is,with different software.

undefined
翻譯:

計算機組成原理

計算機硬體

人們為解決問題而製造計算機。早期的計算機解決的是數學和工程問題,後來計算機著重解決商業應用中的信息處理問題。如今,計算機還用來控制如汽車發動機、機器人和微波爐等各式各樣的機器。計算機系統解決上述這些領域中的任何一個問題都是通過接收輸入、處理問題和生成輸出來實現的。圖1-1說明了計算機系統的功能。

計算機系統由硬體和軟體組成。硬體是系統的物理部分。硬體一旦設計完畢,要修改是困難的,並且花費也大。軟體是指揮硬體的程序集合,比硬體容易修改。計算機之所以有用,是因為它們能解決很多不同類型的問題,是通用的機器。相對而言,每種專用機只能解決一類問題。通過為系統配備不同的指令系統,也就是配備不同的軟體,能用同一硬體去解決不同的問題。

J. 求助:哪裡有關於數據結構方面的計算機英文文章

A Practical Guide to Designing Object-Oriented Software
Introction
Designing object-oriented software is hard,and designing reusable object-oriented software is even harder. You must find pertinent objects,factor them into classes at the right granularity,define class interfaces and inheritance hierarchies,and establish key relationships among them.Your design should be specific to the problem at hand but also general enough to address future problems and requirements.You also want to avoid redesign,or at least minimize it. Experienced object-oriented designers will tell you that a reusable and flexible design is difficult if not impossible to get "right" the first time. Before a design is finished,they usually try to reuse it several times,modifying it each time.
Yet experienced object-oriented designers do make good designs. Meanwhile new designers are overwhelmed by the options available and tend to fall back on non-object-oriented techniques they've used before. It takes a long time for novices to learn what good object-oriented design is all about. Experienced designers evidently know something inexperienced ones don't. What is it?
One thing expert designers know not to do is solve every problem from first principles. Rather,they reuse solutions that have worked for them in the past. When they find a good solution,they use it again and again. Such experience is part of what makes them experts. Consequently,you'll find recurring patterns of classes and communicating objects in many object-oriented systems.These patterns solve specific design problems and make object-oriented designs more flexible,elegant,and ultimately reusable. They help designers reuse successful designs by basing new designs on prior experience. A designer who is familiar with such patterns can apply them immediately to design problems without having to rediscover them.
An analogy will help illustrate the point. Novelists and playwrights rarely design their plots from scratch. Instead,they follow patterns like "Tragically Flawed Hero" (Macbeth,Hamlet,etc.) or "The Romantic Novel" (countless romance novels). In the same way,object-oriented designers follow patterns like "represent states with objects" and "decorate objects so you can easily add/remove features." Once you know the pattern,a lot of design decisions follow automatically.
We all know the value of design experience. How many times have you had design déjà-vu—that feeling that you've solved a problem before but not knowing exactly where or how? If you could remember the details of the previous problem and how you solved it,then you could reuse the experience instead of rediscovering it. However,we don't do a good job of recording experience in software design for others to use.
The purpose of this book is to record experience in designing object-oriented software as design patterns. Each design pattern systematically names,explains, and evaluates an important and recurring design in object-oriented systems. Our goal is to capture design experience in a form that people can use effectively. To this end we have documented some of the most important design patterns and present them as a catalog.
Design patterns make it easier to reuse successful designs and architectures. Expressing proven techniques as design patterns makes them more accessible to developers of new systems. Design patterns help you choose design alternatives that make a system reusable and avoid alternatives that compromise reusability. Design patterns can even improve the documentation and maintenance of existing systems by furnishing an explicit specification of class and object interactions and their underlying intent. Put simply,design patterns help a designer get a design "right" faster.
None of the design patterns in this book describes new or unproven designs. We have included only designs that have been applied more than once in different systems. Most of these designs have never been documented before. They are either part of the folklore of the object-oriented community or are elements of some successful object-oriented systems—neither of which is easy for novice designers to learn from. So although these designs aren't new, we capture them in a new and accessible way: as a catalog of design patterns having a consistent format.
Despite the book's size, the design patterns in it capture only a fraction of what an expert might know. It doesn't have any patterns dealing with concurrency or distributed programming or real-time programming.It doesn't have any application domain-specific patterns. It doesn't tell you how to build user interfaces,how to write device drivers,or how to use an object-oriented database. Each of these areas has its own patterns,and it would be worthwhile for someone to catalog those too.
What is a Design Pattern?
Christopher Alexander says,"Each pattern describes a problem which occurs over and over again in our environment,and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice". Even though Alexander was talking about patterns in buildings and towns,what he says is true about object-oriented design patterns. Our solutions are expressed in terms of objects and interfaces instead of walls and doors,but at the core of both kinds of patterns is a solution to a problem in a context.
In general,a pattern has four essential elements:
1. The pattern name is a handle we can use to describe a design problem,its solutions,and consequences in a word or two.Naming a pattern immediately increases our design vocabulary. It lets us design at a higher level of abstraction. Having a vocabulary for patterns lets us talk about them with our colleagues,in our documentation,and even to ourselves. It makes it easier to think about designs and to communicate them and their trade-offs to others. Finding good names has been one of the hardest parts of developing our catalog.
2. The problem describes when to apply the pattern. It explains the problem and its context. It might describe specific design problems such as how to represent algorithms as objects. It might describe class or object structures that are symptomatic of an inflexible design. Sometimes the problem will include a list of conditions that must be met before it makes sense to apply the pattern.
3. The solution describes the elements that make up the design,their relationships,responsibilities,and collaborations.The solution doesn't describe a particular concrete design or implementation,because a pattern is like a template that can be applied in many different situations. Instead, the pattern provides an abstract description of a design problem and how a general arrangement of elements (classes and objects in our case) solves it.
4. The consequences are the results and trade-offs of applying the pattern. Though consequences are often unvoiced when we describe design decisions,they are critical for evaluating design alternatives and for understanding the costs and benefits of applying the pattern. The consequences for software often concern space and time trade-offs. They may address language and implementation issues as well. Since reuse is often a factor in object-oriented design,the consequences of a pattern include its impact on a system's flexibility,extensibility,or portability. Listing these consequences explicitly helps you understand and evaluate them.
Point of view affects one's interpretation of what is and isn't a pattern. One person's pattern can be another person's primitive building block. For this book we have concentrated on patterns at a certain level of abstraction. Design patterns are not about designs such as linked lists and hash tables that can be encoded in classes and reused as is. Nor are they complex,domain-specific designs for an entire application or subsystem. The design patterns in this book are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.
A design pattern names,abstracts,and identifies the key aspects of a common design structure that make it useful for creating a reusable object-oriented design. The design pattern identifies the participating classes and instances,their roles and collaborations,and the distribution of responsibilities. Each design pattern focuses on a particular object-oriented design problem or issue. It describes when it applies,whether it can be applied in view of other design constraints,and the consequences and trade-offs of its use. Since we must eventually implement our designs,a design pattern also provides sample C++ and (sometimes) Smalltalk code to illustrate an implementation.
Although design patterns describe object-oriented designs,they are based on practical solutions that have been implemented in mainstream object-oriented programming languages like Smalltalk and C++ rather than proceral languages (Pascal,C,Ada) or more dynamic object-oriented languages (CLOS,Dylan,Self). We chose Smalltalk and C++ for pragmatic reasons: Our day-to-day experience has been in these languages,and they are increasingly popular.
The choice of programming language is important because it influences one's point of view. Our patterns assume Smalltalk/C++-level language features, and that choice determines what can and cannot be implemented easily. If we assumed proceral languages,we might have included design patterns called "Inheritance," "Encapsulation," and "Polymorphism." Similarly,some of our patterns are supported directly by the less common object-oriented languages. CLOS has multi-methods,for example,which lessen the need for a pattern such as Visitor . In fact,there are enough differences between Smalltalk and C++ to mean that some patterns can be expressed more easily in one language than the othe

熱點內容
姓段英語怎麼翻譯 發布:2024-11-23 12:53:43 瀏覽:289
汪汪英語怎麼說及英文單詞 發布:2024-11-23 12:52:57 瀏覽:810
被感動翻譯成英語怎麼說 發布:2024-11-23 12:47:49 瀏覽:167
你班多少學生英語怎麼翻譯 發布:2024-11-23 12:33:19 瀏覽:737
活躍分子英語怎麼說及英文單詞 發布:2024-11-23 12:32:30 瀏覽:199
男他喜歡做什麼用英語怎麼說 發布:2024-11-23 12:27:18 瀏覽:316
你在一次野餐中翻譯英語怎麼翻譯 發布:2024-11-23 12:24:51 瀏覽:970
無人出席的英語怎麼說及英文翻譯 發布:2024-11-23 12:21:47 瀏覽:541
英語心機婊怎麼翻譯 發布:2024-11-23 12:18:30 瀏覽:423
我不喜歡數學和美術英語怎麼說 發布:2024-11-23 12:15:49 瀏覽:655