当前位置:首页 » 英文介绍 » 怎么用英语介绍数据结构

怎么用英语介绍数据结构

发布时间: 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 17:04:15 浏览:871
想一向喜欢的人或是用英语怎么说 发布:2024-11-23 16:59:06 浏览:608
来自的英语要怎么写作文 发布:2024-11-23 16:56:37 浏览:436
尺子用英语怎么读单词 发布:2024-11-23 16:54:43 浏览:70
我不喜欢吃蔬菜英语怎么写 发布:2024-11-23 16:48:54 浏览:793
怎么学好英语口语的英语作文 发布:2024-11-23 16:38:23 浏览:900
兔子喜欢萝卜英语怎么说 发布:2024-11-23 16:22:53 浏览:77
他喜欢历史吗用英语怎么说 发布:2024-11-23 16:21:12 浏览:889
一起上的英语怎么翻译 发布:2024-11-23 16:18:49 浏览:598
它们我都喜欢的英语怎么翻译 发布:2024-11-23 16:11:20 浏览:58