Lờinóiđầu Vì viết sách Năm 2002, Microsoft Research tổ chức hội nghị quốc tế Cambridge, Vương quốc Anh, để tiết lộ hệ thống Rotor họ, mà mang C # NET Để lập trình viên Windows Khi trở nhà, viết phần mềm, giấy tờ, sách chủ đề này, nhận chứng kiến khởi đầu cách mạng thực lập trình Kể từ đời Java vào năm 1996, lập trình trở thành tảng độc lập: với Java byte-code, chương trình chạy nơi Tính độc lập này, nhiên, giới hạn chương trình viết ngôn ngữ Java NET, mặt khác, tảng độc lập: cho phép chương trình ngôn ngữ khác tương tác, nhưng, ngày hôm đó, có Windows Trong năm năm tiếp theo, tảng hỗ trợ NET (ví dụ: Mono) phần cứng hỗ trợ chip Intel (mà Windows chạy) Kết NET chạy gần nơi Do đó, chuyên môn lập trình C# kỹ linh động Nhưng C# tiếp tục cải thiện ngôn ngữ, khởi đầu bước tiến phía trước C# 3.0, cung cấp lợi ích to lớn suất tính dễ lập trình Sau viết văn giới thiệu C# vào năm 2003, * nhận lợi ích tính công bố năm 2007, cảm nhận mức độ tiên tiến nhiều việc phát triển phần mềm Tôi muốn viết sách thứ hai giới thiệu C# 3.0 cho nhà phát triển biết ngôn ngữ bản, trở thành công thức mà giới thiệu ngôn ngữ giải nhu cầu độc giả cách xác, ví dụ, thêm tính thực tế? Về design patterns Design patterns tóm lược chung, chấp nhận, chứng minh cách sử dụng ngôn ngữ có tính giống Chúng tạo thành mức độ diễn ngôn tầm cao mới, chúng thực thúc đẩy việc lập trình tốt Nhưng, có yếu tố thật xung quanh mẫu thiết kế, người ta có ấn tượng chúng có nói nhiều sử dụng Tôi muốn thay đổi điều làm cho design patterns thực tiếp cận lập trình thông thường, sử dụng ngôn ngữ tốt cho chúng: C# 3.0 Kết sách Cuốn sách dành cho Nếu bạn lập trình viên yêu code bạn, mà dòng có ý nghĩa xác tính có vị trí xác, sách dành cho bạn Nó giúp bạn công việc bạn làm cho code bạn đúng, lịch, mở rộng được, hiệu Nếu bạn phục vụ cho mục đích kinh doanh tổ chức bạn cách tập trung vào chất lượng code bạn, bạn cần sách C# 3.0Design Patterns Kiến thức mẫu thiết kế bước tiến lớn người làm việc từ lập trình viên cấp thấp kỹ sư phần mềm kiến trúc sư Thông qua việc đọc sách này, bạn có kỹ trong: • Lập trình design patterns • Ký pháp mô hình hóa UML để đại diện cho pattern • Lựa chọn mẫu thích hợp cho kịch định so sánh lựa chọn triển khai • Sử dụng tính ngôn ngữ tiên tiến C# 3.0 để thực mẫu có hiệu lịch Mặc dù không viết giáo trình, C# 3.0Design Patterns phù hợp tốt cho khóa học trung bình mẫu thiết kế hay lập trình cao cấp Sơ đồ mã cho tất mẫu ví dụ liên quan nghiên cứu sách tìm thấy trang web sách, http://www.oreilly.com/catalog/97805965277301 Những bạn cần biết Cuốn sách dành cho lập trình viên biết làm để chương trình C# 1.0 Java 1.4 người muốn chuyển sang tính đại ngôn ngữ Tất tính C# 3.0, nhiều tính từ C# 2.0, giới thiệu ví dụ tóm tắt bên để dễ dàng tham khảo Vì sách hướng dẫn lập trình viên tốt Cuốn sách không đưa thêm hiểu biết design patterns Nó bao gồm đầy đủ 23 mẫu ban đầu đề xuất sách Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns: Elements of Reusable Object Oriented Software năm 1994 tạo thành sở giới thiệu phổ biến mô hình lên nhiều lĩnh vực khác (như an ninh, tranh chấp, kiến trúc thiết kế) Khi kết thúc sách, người đọc có tảng vững mẫu thiết kế chúng thường hiểu Cuốn sách tổ chức Sau giới thiệu chương 1, sách nói cụ thể 23 design patterns Mỗi chương bàn hai ba mẫu, chọn chúng có số ứng dụng chung so sánh phần cuối chương Các mẫu chia thành ba nhóm: cấu trúc, sáng tạo, hành vi Chúng ta bắt đầu với mẫu cấu trúc, nghiên cứu mẫu Decorator, Proxy, Bridge Chương 2, mẫu Composite Flyweight Bây bạn vào: http://examples.oreilly.com/9780596527730/ (ND) chương mẫu Adapter Façade chương Sau chuyển sang mẫu sáng tạo, khám phá mẫu Prototype, Factory Method, Singleton chương 5, sau mẫu Abstract Factory Builder chương Bốn chương cuối giải thể loại lớn nhất, mẫu hành vi: Chương tập trung vào mẫu Strategy, State, Template Method; Chương mẫu Chain of Responsibility Command; Chương mẫu Iterator, Mediator, Observer Chương 10 mẫu Visitor, Interpreter, Memento Thảo luận mẫu bao gồm phần sau đây: Vai trò (Role) Một mô tả ngắn gọn cao cấp mẫu hiểu để sửa dụng Minh họa (Illustration) Một ví dụ nơi mà mẫu sử dụng lập trình hệ thống máy tính đại, minh họa bối cảnh giới thực với hình ảnh biểu đồ để giúp bạn nhớ mẫu Thiết kế (Design) Một nhận dạng đối tượng liên kết với mô hình vai trò chúng, giải thích sơ đồ UML, với liên kết trở lại với đối tượng chủ chốt hình minh họa Thực (Implementation) Một phát triển tinh tế bước chương trình ngắn để minh họa mô hình sử dụng thuật ngữ giới thiệu phần "Thiết kế" Ví dụ (Example) Một chương trình thứ hai cung cấp ví dụ mẫu, thường điều khoản ví dụ minh họa, nơi mà lập trình rời xa tuân thủ chặt chẽ với điều khoản mẫu Sử dụng (Use) Một thảo luận kịch giới thực, nơi mẫu sử dụng, kết thúc với bảng liệt kê điều kiện phải sử dụng mẫu Bài tập (Exercises) Một danh sách tập mức độ khó khác thiết kế để nâng cao hiểu biết bạn mẫu thảo luận Ở cuối chương bạn tìm thấy so sánh mẫu thảo luận thảo luận cách chúng phù hợp với thứ có trước Trật tự mẫu chọn lựa cẩn thận để thể phát triển C# 3.0 thục Triển khai thực mẫu trước phần đòi hỏi mà sẵn C# 1.0, mẫu sau tinh vi việc thực thi chúng tận dụng tính tiên tiến diện C# 3.0 Cách tiếp cận cho phép tính giới thiệu nội tuyến, chúng trở nên có liên quan, thay tất lúc đầu cuối văn Cuốn sách ý định trở thành hướng dẫn tham khảo cho toàn C# chí C# 3.0, hướng dẫn thiết thực để sử dụng tính thú vị ngôn ngữ Mặc dù nhấn mạnh vào phát triển phiên gần nhất, chọn số tính C # 1.0 2.0 mà nghĩ thực hữu ích mà không thường sử dụng mã Danh sách tính C# thể cách xác theo Lờinóiđầu Chức đặc biệt sách bao gồm: • Minh họa hình ảnh mẫu, giúp bạn tập trung vào ý nghĩa mẫu thực sống thực • Các câu đố có liên quan để minh họa sơ đồ UML • Xếp gọn code "lý thuyết" thích ứng với nhiều tình • Bảng hướng dẫn lựa chọn mẫu cụ thể • Bảng so sánh mô hình tương tự, cho thấy cách chúng khác biệt • Danh sách ưu điểm, nhược điểm, hạn chế mẫu • Thử thách tập để giúp bạn kiểm tra kiến thức bạn tốt Những bạn cần để sử dụng sách Để chạy chương trình sách này, bạn cần: • Một máy tính chạy Windows XP trở lên Nền tảng tương thích máy tính Mac Intel với máy ảo • Microsoft NET Framework 3.5 http://www.microsoft.com/downloads Nó có sẵn • Một trình soạn thảo chương trình môi trường lập trình Visual Studio chương trình lý tưởng để lập trình C# 3.0, cần thiết • Các tài liệu tham khảo C# 3.0, có sẵn trang web Microsoft (http://msdn2.microsoft.com/vcsharp, 529 trang) Tất chương trình sách chuẩn bị iMac Intel Core Duo chạy Mac OS X 10.4 (Tiger Leopard) Windows XP máy ảo Parallels Trình soạn thảo sử dụng SciTE Tìm kiếm bạn cần Cuốn sách thiết kế để phục vụ nguồn tài nguyên học tập Tìm hiểu C# 3.0 mẫu thiết kế, có lúc bạn cần phải tìm tính đặc biệt mô hình liên quan Các bảng nêu Chương 11 để dễ dàng tham khảo Các ký hiệu sơ đồ lớp UML đề cập Chương Bạn thấy có vài chương trình, lý không gian, không trình bày đầy đủ văn Tất đưa vào Phụ lục Quy ước sử dụng sách Các quy ước đánh máy sau sử dụng sách này: nghiêng Đây điều khoản mới, URL, địa email chiều rộng cố định Dùng để mã ví dụ trích đoạn, lệnh, tùy chọn, biến, thuộc tính, chức năng, loại, lớp học, không gian tên, phương pháp, tài sản, thông số, giá trị, đối tượng, kiện, thẻ XML Chiều rộng cố định đậm Dùng để nhấn mạnh làm bật mã ví dụ Chiều rộng cố định nghiêng Cho văn cần thay giá trị người dùng cung cấp Biểu tượng có nghĩa mẹo, gợi ý, ghi nói chung Biểu tượng cảnh báo cảnh báo Sử dụng code ví dụ Cuốn sách để giúp bạn hoàn thành công việc bạn Nói chung, bạn sử dụng mã code sách chương trình tài liệu bạn Bạn không cần phải liên hệ với phép trừ bạn tái tạo phần đáng kể mã Ví dụ, viết chương trình sử dụng số khối mã từ sách không yêu cầu cho phép Bán phân phối đĩa CD-ROM ví dụ từ sách O'Reilly đòi hỏi cho phép Trả lời câu hỏi cách trích dẫn sách trích dẫn code ví dụ không yêu cầu cho phép Kết hợp số lượng đáng kể code ví dụ từ sách vào tài liệu sản phẩm bạn đòi hỏi cho phép Chúng đánh giá cao ghi nhận, không yêu cầu Và ghi nhận tác giả thường bao gồm tựa đề, tác giả, nhà xuất bản, ISBN Ví dụ: “C# 3.0Design Patterns, by Judith Bishop Copyright 2008 Judith Bishop, 978-0-59652773-0.” Nếu bạn nghĩ việc bạn sử dụng mã ví dụ không thuộc phạm vi sử dụng hợp lý cho phép đưa trên, liên hệ với tại: permissions@oreilly.com Ý kiến câu hỏi Tác giả vui mừng nghe bạn nghĩ sách cho dù bạn có ý tưởng tốt để mở rộng xuất C# design patterns Vui lòng gửi ý kiến câu hỏi liên quan đến sách cho nhà xuất bản: O’Reilly Media, Inc 1005 Gravenstein Highway North Sebastopol, CA 95472 800-998-9938 (in the United States or Canada) 707-829-0515 (international or local) 707-829-0104 (fax) Chúng có trang web cho sách này, nơi liệt kê đính chính, ví dụ, thông tin bổ sung Bạn truy cập trang tại: http://www.oreilly.com/catalog/9780596527730 Để bình luận đặt câu hỏi kỹ thuật sách này, gửi email đến: bookquestions@oreilly.com Để biết thêm thông tin sách, hội nghị, Trung tâm tài nguyên, Mạng O'Reilly chúng tôi, xem trang web tại: http://www.oreilly.com Tác giả có trang web cho sách tại: http://patterns.cs.up.ac.za Safari® Books Online Khi bạn nhìn thấy biểu tượng Safari® Books Online trang bìa sách công nghệ yêu thích bạn, có nghĩa sách có sẵn trực tuyến qua mạng O'Reilly Safari Bookshelf Safari cung cấp giải pháp tốt so với sách điện tử Đó thư viện ảo cho phép bạn dễ dàng tìm kiếm hàng ngàn sách công nghệ hàng đầu, cắt dán mẫu mã, tải chương , tìm câu trả lời nhanh chóng bạn cần, thông tin xác Dùng thử miễn phí http://safari.oreilly.com Lời Cảm ơn Đầu tiên, xin cảm ơn John Osborn, người đánh máy O'Reilly, cho niềm tin vào việc sách lúc Sự cẩn thận chuyên môn anh đánh giá cao Đến jeff Pepper, người đăng ký sách lâu trước đây, cảm ơn nhiều Cảm ơn nhận xét, Eric Lippert, Jim Whitehead, Stefan Gruner, Pierre-Henri Kuaté có ý kiến sâu sắc, không giữ khách sáo, dẫn đến nhiều sửa đổi đem lại sách cuối tốt nhiều Khoa Đại học Pretoria cho thiết bị nhất, đồng nghiệp cho thời gian để thực tập trung cần thiết Đặc biệt cảm ơn Jan Eloff cho hỗ trợ tình bạn anh Tới Carlo Ghezzi Politecnico di Milano, người ân cần lưu trữ cho vào mùa hè 2007, phần lớn dự thảo viết, grazie mille Sinh viên cũ Hans Lombard D-J Miller giúp tạo thông báo ngắn số ví dụ, thực đánh giá cao tâm trí tươi trẻ cống hiến cho công việc họ Viết sách trải nghiệm thú vị nhiều hỗ trợ liên tục quan tâm người bạn tài Nigel Horspool, Rob Koenig, Rudolph Vosser Họ sách thực hoàn thành, xong Và cuối cùng, mẹ tôi, trai tôi, gia đình tôi, có tình yêu niềm vui sống tiếp sức cho điều (nhưng khác) sách cảm ơn bạn —Judith Bishop Pretoria, South Africa October 2007 ... v c kh c (như an ninh, tranh chấp, kiến tr c thiết kế) Khi kết th c sách, người đ c có tảng vững mẫu thiết kế chúng thường hiểu Cuốn sách tổ ch c Sau giới thiệu chương 1, sách nói c thể 23 design. .. tiến diện C# 3.0 C ch tiếp c n cho phép tính giới thiệu nội tuyến, chúng trở nên c liên quan, thay tất l c đầu cuối văn Cuốn sách ý định trở thành hướng dẫn tham khảo cho toàn C# chí C# 3.0, hướng... design patterns Mỗi chương bàn hai ba mẫu, chọn chúng c số ứng dụng chung so sánh phần cuối chương C c mẫu chia thành ba nhóm: c u tr c, sáng tạo, hành vi Chúng ta bắt đầu với mẫu c u tr c, nghiên