tiêu chuẩn xây dựng framework

31 128 0
tiêu chuẩn xây dựng framework

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại học Cơng nghiệp Hà Nội BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT  BÀI TẬP LỚN MÔN HỌC: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: TIÊU CHUẨN XÂY DỰNG FRAMEWORK Nhập môn Công nghệ phần mềm Hà Nội - 2016 Page Đại học Công nghiệp Hà Nội MỤC LỤC Nhập môn Công nghệ phần mềm Page Đại học Cơng nghiệp Hà Nội LỜI NĨI ĐẦU Tổng quan framework 1.1 Framework gì? Ngày nay, q trình xây dựng ứng dụng có nhiều khung làm việc (framework) xây dựng sẵn nhằm phục vụ cho mục đích chung giúp cho người lập trình viên phát triển ứng dụng cách nhanh chóng hiệu Vậy, chất framework gì, có đặc tính ? Theo cộng đồng Wikepedia, framework khái niệm phát triển phần mềm dùng để “cấu trúc hỗ trợ định nghĩa”mà dự án phần mềm khác xếp vào phát triển Thơng thường, framework bao gồm chương trình hỗ trợ, thư viện lập trình ngơn ngữ scripting nằm phần mềm khác để giúp phát triển gắn thành phần khác dự án phần mềm lại với Một framework có đặc tính sau : Một framework xây dựng sẵn lớp (class) thành phần (component), loại cung cấp mức trừu tượng (abstraction) cho vài khái niệm riêng biệt Một framework định nghĩa tập hợp cách thức để mức trừu tượng giải vấn đề Các thành phần framework phải có tính sử dụng lại Nhập môn Công nghệ phần mềm Page Phản ánh Đại học Công nghiệp Hà Nội Mối quan hệ thành phần khác framework mơ tả hình vẽ sau: k ển Tri i kh ển Tri Th a kế Các tài liệu thiết kế Các giao diện Các lớp trừ t Các thành phần phần Là Các lớp Nhập môn Công nghệ phần mềm Page Đại học Công nghiệp Hà Nội Các thành phần framework mô tả sau: - Các tài liệu thiết kế: Thiết kế framework bao gồm lược đồ lớp, - viết văn ý tưởng nhà phát triển Các giao diện :Miêu tả đáp ứng bên lớp Các giao diện sử dụng để mơ hình vai trò khác hệ thống, ví dụ vai trò mẫu thiết kế Một vai trò đại diện cho nhóm phương pháp - giao diện mà liên quan tới phương pháp khác Các lớ trừ tượng: Một lớp trừu tượng thực chưa đầy đủ nhiều giao diện Nó sử dụng để định nghĩa cách đối xử mà - chung cho nhóm thành phần thực nhóm giao diện Các thành phần: Giống lớp, thành phần tích hợp với lớp khác Nếu thân lớp có API định nghĩa đầy đủ tập kết lớp biểu tổ hợp thành phần Một thành phần định nghĩa sau:” Một thành phần phần mềm đơn vị kết cấu với giao diện ghi rõ theo hợp đồng phụ thuộc ngữ cảnh rõ ràng Một thành phần phần mềm triển khai không phụ thuộc tổ hợp - hãng thứ ba” Các lớp: Mức thấp framework Các lớp khác thành phần thực tế, API công khaci khơng đưa giao diện framework Một điển hình khác lớ sử dụng bời thành phần để đại diện cho chức năng, ví dụ người dùng framework thường khơng nhìn thấy lớp trừ họ làm việc với thành phần 1.2 Cái nhìn sơ qua frameworks - Các frameworks có vai trò lớn phát triển công nghệ phần mềm Chúng cung cấp cách giải vấn đề, nâng cao chất lượng sản - phẩm phần mềm, đem lại lợi ích to lớn cho doanh nghiệp Sự phát triển hệ mã lập trình, khía cạnh đồng nghĩa với việc frameworks phát triển - Một phần mềm xây dựng dựa framework bao gồm mẫu thiết kế thành phần dựa khung xương framework Một định nghĩa frameworks phát biểu sau: “Frameworks Nhập môn Công nghệ phần mềm Page Đại học Công nghiệp Hà Nội không bao gồm lớp Thay vào đó, frameworks kèm với chức phong phú mạnh mẽ, mối liên kết lớp đối tượng cung cấp sở hạ tầng cho phát triển.” Hình Mối quan hệ ứng dụng frameworks Khi định lựa chọn frameworks để phát triển ứng dụng lập trình viên bắt buộc phải tuân theo khung mà frameworks tạo Các thành phần sử dụng phải framework cung cấp Các mẫu thiết kế cố định, lập trình viên phát triển ứng dụng dựa mẫu 1.3 Một số frameworks phổ biến Dưới danh sách frameworks phổ biến giới phát triển phần mềm sau: - Microsoft Foundation Classes - MFC - Java's Abstract Window Tool-kit – AWT - ACE, an OO framework - Reusable Objects (ORO) is an open-source framework - Webridge Private Exchange is a horizontal framework designed for building B2B applications - Medical Business Object framework is a vertical framework designed for medical domain Cách thức làm việc framework - Framework làm việc cách cung cấp đặc tả rõ ràng tương tác mong đợi thành phần Ví dụ, thành phần trơng chờ Nhập mơn Cơng nghệ phần mềm Page Đại học Công nghiệp Hà Nội từ thành hần khác nên cung cấp tới chúng? Một framework định nghĩa dịch vụ lựa chọn, cung cấp giải thích cho việc định nghĩa thành phần thành phần cung cấp Như mootjj thành phần có khả mở rộng lớn thành phần tương tác mạnh - mẽ với thành phần có Các thành phần cộng tác với chi tiết, khía cạnh cụ thể vấn đề cân nhắc framework Các thành phần ứng dụng chứng minh tính tương thích với vấn đề khác, ngữ nghĩa liệu mà chúng chuyển qua Các phận phụ thuộc giới thiệu thành phần framework Sự thi hành thành phần framework xác định dịch vụ cung cấp dịch vụ cho thành phần khác 1.4 Phân biệt framework với khái niệm khác • Một mẫu thiết kế khác với framework ba điểm Thứ nhất, mẫu thiết kế trừu tượng framework, framework bao gồm mã, có ví dụ mẫu thiết kế mã hóa Các mẫu thiết kế chí mơ tả mục đích, việc cân yếu tố khác để đạt kết hợp tốt kết thiết kế Điều không trường hợp cho framework Thứ hai, mẫu thiết kế kiến trúc nhỏ so với framework Do vậy, framework chứa số mẫu thiết kế, điều ngược lại Do vậy, mẫu thiết kế khơng có ảnh hưởng lớn tới kiến trúc ứng dụng Cuối cùng, framework chuyên mơn hóa so với mẫu thiết kế Các framework luôn liên quan đến miền ứng dụng cụ thể, mẫu thiết kế chung ứng dụng miền ứng dụng • Các ngơn ngữ mẫu khác với framework theo cách mà ngôn ngữ mẫu miêu tả: làm để tạo thiết kế Trong đó, framework hướng đối tượng thiết kế Các ngôn ngữ mẫu bổ sung cho framework, chúng hướng dẫn kỹ sư phần mềm sử dụng framework nào, mơ tả lại thiết kế Nhập môn Công nghệ phần mềm Page Đại học Cơng nghiệp Hà Nội • Một ứng dụng hướng đối tượng khác với framework chỗ, ứng dụng mơ tả chương trình thực phức tạp mà thỏa mãn yêu cầu cụ thể Framework đạt tính ứng dụng khơng thể thi hành khơng bao gồm tương tác trường hợp ứng dụng cụ thể • Các framework khác với thư viện lớp chỗ: chúng nhắm tới miền ứng dụng cụ thể Trong đó, thư viện lớp cung cấp cho người sử dụng thực trước thuật toán Các thư viện lớp thụ động, người sử dụng gọi phương pháp thư viện lớp để thực số hoạt động Trong framework định nghĩa khung cho ứng dụng thực tế điều khiển luồng điều khiển ứng dụng Các framework khác so với thư viện lớp, chúng sử dụng thư viện lớp có sẵn để thực thuật tốn chung cấu trúc liệu • Các thành phần phần mềm ban đầu dự định thành phần chức riêng lẻ mà đầu tư từ nhà cung cấp tích hợp vào ứng dụng Các framework dường thành phần mà đầu tư từ nhà cung cấp nhiều framework sử dụng ứng dụng Tuy nhiên, điểm khác dễ nhận thấy chúng framework cung cấp rộng dịch vụ so với thành phần phần mềm Chúng có khả tùy biến nhiều hơn, có giao diện phức tạp điều quan trọng chúng thực định nghĩa cho họ ứng dụng diện rộng ứng dụng Do vậy, framework khó học nhà phát triển, hiểu hết framework có linh động cao với framework thiết kế tốt giảm nỗ lực cần bỏ để xây dựng ứng dụng tùy biến rõ rệt • Trong framework thành phần kỹ thuật khác nhau, chúng nên xem sử dụng kỹ thuật cộng tác với Với framework sử dụng thành phần ứng dụng phát triển sử dụng framework chí tiện dụng thành phần Ví dụ, Nhập môn Công nghệ phần mềm Page Đại học Công nghiệp Hà Nội ứng dụng Visual C++ tạo với MFC framework, chí sử dụng thành phần ActiveX giao diện giống việc trao đổi với thành phần ActiveX đóng gói MFC framework Một ví dụ khác cho phụ thuộc lẫn framework thành phần việc sử dụng framework để tạo thành phần mới, ví dụ, framework Active Template Library (ATL) Microsoft sử dụng rộng rãi việc tạo thành phần ActiveX 1.5 Bản chất framework Một framework hướng đối tượng có đặc điểm sau: - Khả tích hợp (modul hóa) Khả sử dụng lại Khả kế thừa (mở rộng) Triển khai nhanh(sự đổi chiều) Khả tích hợp: Các framework tăng cường khả modun hóa cách đóng gói chi tiết thực không chắn đằng sau giao diện chắn Khả giúp cho việc tăng cường chất lượng phần mềm cách cục hóa tác động thay đổi kiến trúc thực Sự cục hóa giảm nỗ lực yêu cầu để hiểu trì phần mềm có Khả sử dụng lại: Các giao diện chắn cung cấp bời framework tăng khả sử dụng lại cách định nghĩa thành phần chung mà áp dụng để tạo ứng dụng Khả sử dụng lại framework thúc đẩy kiến thức miền ứng dụng ưu tiên nỗ lực nhà phát triển kinh nghiệm để tránh việc tạo làm hợp lệ lại giải pháp chung cho yêu cầu ứng dụng lặp lại thách thức thiết kế phần mềm Việc sử dụng lại thành phần thiết kế cải tiến đáng kể sản xuất chương trình, tốt cho việc nâng cao chất lượng, tính hiệu quả, độ tin cậy tính sẵn sàng phần mềm Khả kế thừa: Một framework tăng cường khả mở rộng cách cung cấp điểm nóng tường minh mà cho phép ứng dụng mở rộng giao diện chắn cách ứng xử vùng ứng dụng với thay đổi yêu cầu trường hợp ứng dụng số ngữ cảnh cụ thể Khả mở rộng framework cần Nhập môn Công nghệ phần mềm Page Đại học Công nghiệp Hà Nội thiết để đảm bảo điều chỉnh có tính thời gian dịch vụ tính ứng dụng Triển khai nhanh (sự đổi chiều): Là đặc điểm kiến trúc thời gian chạy môt framework, thường gọi “Nguyên tắc Hollywood” – Đừng gọi cho chúng tôi, gọi cho bạn Kiến trúc cho phép ứng dụng hợp với quy tắc tiêu chuẩn cách điều chỉnh bước xử lý, đối tượng quản lý sựu kiện mà viện dẫn thơng qua chế gửi kích hoạt lại framework Khi kiện xảy ra, framework gửi lại kích hoạt cách viện dẫn phương pháp móc nối dụng cụ thể kiện Đổi chiều điều khiển cho phép framework định nghĩa tập phương pháp ứng dung cụ thể để đáp ứng với kiện bên 1.6 Phân loại Có nhiều cách phân loại framework khác Cụ thể : Về mặt mục đích sử dụng phân loại - Application-specific framework kiểu mơ hình component plugin Joomla, mơ hình module template overriden Drupal Chúng tạo mô hình phát triển với số cấp độ hỗ trợ dùng lại code mức thư - viện ứng dụng chủ General purpose framework: Như Symfony, Zend, SolarPHP, Cake, Fuse Nó khơng có ứng dụng chủ Chỉ tư thiết kế, quản lý chu kì sống cấu trúc ứng dụng mức file systetem hay naming convention tất nhiên số thư viện hỗ trợ phát triển ứng dụng phong phú Phân loại miền vấn đề ứng dụng - Web framework: CakePHP, Fuse, SolarPHP (Zend lớn nên khó mà xếp - vào dạng web gọi I/O, webservice ORM), Grails, RoR Full-fledged framework: NET, Java (vừa ngôn ngữ, đặc tả, framework platform), Zend (somewhat) Nhập môn Công nghệ phần mềm Page 10 Đại học Công nghiệp Hà Nội - Hỗ trợ IDE Eclipse, bao gồm Eclipse plug-in để làm việc với Hibernate 3.0, bao gồm biên tập liên kết, tương tác với mẫu truy vấn, công cụ nhận lại - cấu trúc sở liệu Hibernate miễn phí theo LGPL: Hibernate dùng để phát triển - phân phối ứng dụng miễn phí Hibernate mở rộng: Hibernate mang lại hiệu cao kiến trúc lớp - sử dụng môi trường tập trung Giảm thời gian phát triển ứng dụng: Hibernate làm giảm thời gian phát triển ứng dụng hỗ trợ thừa kế, đa hình, thành phần framework - java Hibernate XML cho phép liên kết liệu biểu diễn XML POJOs thay cho Nhập môn Công nghệ phần mềm Page 17 Đại học Công nghiệp Hà Nội 2.1.4 Kiến trúc Hibernate Kiến trúc Hibernate Ứng dụng Đối tượng Persistence Hibernate Các thuộc tính Hibernate XML Mapping Cơ sở liệu Sơ đồ cho thấy Hibernate sử dụng sở liệu file cấu hình để cung cấp dịch vụ lâu dài cho ứng dụng Nhập môn Công nghệ phần mềm Page 18 Đại học Công nghiệp Hà Nội Hibernate tạo đối tượng liên tục đồng hóa liệu ứng dụng sở liệu Để sử dụng Hibernate, cần thiết phải tạo lớp Java biểu diễn cho bảng tương ứng sở liệu sau ánh xạ thuộc tính lớp với cột bảng sở liệu Sau đó, Hibernate sử dụng để thực thao tác sở liệu chèn, chọn, cập nhật xóa ghi bảng Hibernate tự động tạo truy vấn để thực thao tác Kiến trúc Hibernate có ba thành phần chính: - Quản lý kết nối: Hibernate cung cấp dịch vụ quản lý kết nối sở liệu hiệu Kết nối sở liệu phần tốn tài nguyên hiệu việc tương tác với sở liệu đòi hỏi nhiều tài nguyên phải mở đóng - kết nối sở liệu Quản lý giao dịch: Quản lý dịch vụ giao dịch cung cấp khả người sử dụng để thực nhiều câu lệnh thời điểm Nhập môn Công nghệ phần mềm Page 19 Đại học Công nghiệp Hà Nội - Đối tượng đồ quan hệ: Đối tượng đồ quan hệ kỹ thuật lập ánh xạ biểu diễn liệu từ mơ hình đối tượng mơ hình liệu quan hệ Đối tượng sử dụng đê thực thao tác truy vấn ,thêm mới, cập nhật xóa ghi dạng bảng bên dưới.Hibernate tốt công cụ xa đối tượng đồ quan hệ mối quan tâm, mặt quản lý kết nối quản lý giao dịch, thiếu hiệu khả Vì vậy, thường Hibernate sử dụng để quản lý kết nối khác công cụ quản lý giao dịch Ví dụ apache DBCP sử dụng để kết nối tổng hợp với Hibernate Hibernate cung cấp nhiều tính linh hoạt sử dụng Nó gọi kiến trúc "Lite" sử dụng thành phần đối tượng đồ quan hệ Trong kiến trúc "Full Cream" tất ba thành phần đối tượng quan hệ lập đồ, quản lý kết nối Quản lý giao dịch sử dụng 2.1.5 Các thành phần ứng dụng Hibernate Các ORM framework mang đến cho developer tư khái niệm quan hệ làm việc với lớp Có nhiều framework mang mục đích Những làm cho Hibernate khác với framework khác tính đơn giản khả chuyển Để tạo nên ứng dụng Hibernate, có ba điều cần phải có, là: 2.1.6 Persistence Class Persistence class Plain Old Java Object hay POJO model Một POJO tương tự JavaBean, có getter setter để truy câp thuộc tính instance variable (biến thực thể) Persistence class có đặc điểm đây:  Nó thay hướng đối tượng cho bảng sở liệu  Các thuộc tính bảng trở thành instance variable persistence class Nhập môn Công nghệ phần mềm Page 20 Đại học Công nghiệp Hà Nội  Kiểu liệu instance variable domain thuộc tính Đối tượng persistence class thay hế cho hàng bảng 2.1.6 Mapping file Mapping file file XML chứa ánh xạ chi tiết persistence class bảng thay Các thành phần bắt buộc file XML là: - Hibernate-mapping: Đây thành phần gốc bao tất thành phần - khác Class: sử dụng để ánh xạ tên thành persistence class Tên thuộc tính sử dụng để xác định tên lớp, thuộc tính sử dụng để xác định bảng mà lớp thay Ví dụ để ánh xạ mang tên ORDERS thành persistence class với tên đầy đủ com.someorg.persist.Order đây: … - ID: Thành phần sử dụng để ánh xạ khóa chíh table thành instance variable class Thành phần cột id sử dụng để ánh xạ thành biến tương ứng Giá trị khóa tự động tạo công bố Thành phần generator sử dụng để nói cho Hibernate lớp sử dụng đâu để tự động tạo id, id gán ứng dụng Ví dụ nói cho Hibernate rằng, tên khóa id mà ánh xạ thành instance variable "id" Kiểu liệu "string" Nhập môn Công nghệ phần mềm Page 21 Đại học Công nghiệp Hà Nội ánh xạ cho cột "id" có kiểu "char(32)" thay thuộc tính sqltype Thuộc ính lớp generator chứa giá trị "assigned" nghĩa ứng - dụng thân cung cấp giá trị cho khóa Property: thành phần này, thuộc cột thành phần nó, ánh xạ thuộc tính khác (hoặc cơt thành instance variable persistence class Thuộc tính name property chứa tên biến giá trị Thuộc tính name thành phần column chứa tên cột mà instance variable ánh xạ Các thuộc tính length sql-type trỏ đến độ dài kiểu liệu cột 2.1.7 Hibernate Configuration file File gọi trỏ đến ứng dụng sử dụng Hibernate Ngun nhân chứa cấu hình điều khiển giao tiếp với database phía Ở đây, tất file mapping sử dụn ứng dụng công bố Địnn dạng thành phần hibernate-configuration thành phần gốc Hầu hết thành phần thông dụng sử dụng file XML là: - Property: Thuộc tính name thành phần property sử dụng để cấu hình tham số khác Trong công nghệ Hibernate, tham số biết tham số property Kiểu database server (MySQL, Oracle ), dialect class, URL database, username/password tham số property khác Để đặt chúng vào mã: org.hsqldb.jdbcDriver jdbc:hsqldb:data/tutorial sa : : - Mapping: Nó thành phần kết nối tất file mapping,, gọi file hbm, sử dụng ứng dụng công bố Thuộc tính resource cho giá trị đường dẫn file hbm 2.1.8 Đánh giá Hibernate framework Ưu điểm Hibernate - Ứng dụng sở liệu độc lập : Hibernate tốt đơn giản JDBC: Bạn sử dụng Hibernate tạo SQL bay sau tự động thực thi câu lệnh SQL cần thiết Điều giúp tiết kiệm nhiều thời gian phát triển gỡ lỗi nhà phát triển Sử dụng JDBC để diễn đạt, thiết lập thông số, thực truy vấn xử lý kết tay công việc vất - vả Hibernate giải vấn đề nhanh chóng hiệu Hiệu suất cao, lập đổ định nghĩa: Hibernate lập đồ đối tượng tên miền với sở liệu quan hệ Nên tập trung vào business logic - quản lý liệu sở liệu Lớp kiến trúc: Hibernate tn theo mơ hính MVC nên sử dụng - thành phần theo nhu cầu ứng dụng Nhà cung cấp JPA: Hibernate làm việc nhà cung cấp dịch vụ JPA - ứng dụng dựa JPA Tiêu chuẩn ORM: Hibernate giải pháp ORM tiêu chuẩn hỗ trợ JPA Nhập mơn Cơng nghệ phần mềm Page 23 Đại học Công nghiệp Hà Nội - Cơ sở liệu độc lập: Hibernate sở liệu độc lập bạn sử - dụng sở liệu lựa chọn bạn Bộ nhớ đệm Framework: Có nhiều nhớ đệm khuôn khổ làm việc với Hibernate Bạn sử dụng ứng dụng bạn để cải thiện hiệu suất ứng dụng bạn Nhược điểm Hibernate - Rất nhiều API để tìm hiểu: Rất nhiều nỗ lực cần thiết để tìm hiểu - Hibernate Vì vậy, khơng dễ dàng để tìm hiểu chế độ Hibernate Debugging: Đơi gỡ lỗi hiệu chỉnh trở nên khó khăn Chậm so với JDBC: Hibernate l chậm so với JDBC đơn ,nó - tạo nhiều câu lệnh SQL thời gian chạy Khơng thích hợp để xử lý hàng loạt: khuyến khích sử dụng JDBC đơn cho hồng loạt q trình Nhập môn Công nghệ phần mềm Page 24 Đại học Công nghiệp Hà Nội 2.2 PHP framework Với PHP framework php framework Khi nhắc tới php khơng thể ko nhắc tới PHP framework mảnh ghép thiếu để giúp hồn thiện PHP, giúp PHP trở nên trơn tru cách cung cấp cấu trúc để xây dựng ứng dụng PHP Framework đầy đủ đáp ứng hầu hết điều kiện cần đủ cho việc xây dựng dự án Nói tới Framework bật là: Zend Framework, CodeiGniter Framework, CakePHP Framework,… Các framework phổ biến tính mà chúng mang lại lập trình viên ưa thích, thỏa mãn u cầu họ Dưới 10 lý chọn PHP framework  Cách tổ chức file code Nhập môn Công nghệ phần mềm Page 25 Đại học Công nghiệp Hà Nội - Khi setup dùng PHP framework chưa cấu trúc định, giúp ta theo tiêu chuẩn giống giữ cho thứ tổ chức theo cách định Một quen với mơ hình này, ta không muốn quay trở lại cách viết code ban đầu - Thật không may số người dùng command line, điều thách thức họ Họ cần làm quen với nhiều tập tin với kích thước nhỏ hơn, bạn sử dụng trình soạn thảo hay IDE, gió cho ứng dụng bạn bạn tìm thấy thứ cần cách nhanh chóng chúng tổ chức cách khoa học  Thư viện tiện ích - PHP ngôn ngữ tuyệt vời để phát triển web cung cấp vô số công cụ thư viện Tuy nhiên bạn cố gắng xây dựng trang web với PHP bạn thấy viết nhiều đoạn mã - thư viện bên thứ viết Hầu hết PHP Framework hàng đầu chúng chứa thư viện có sẵn Helpers, chúng giúp cho bạn: Kiểm tra form ( Form Validation) Lọc liệu đầu đầu vào ( Input/Output Filtering) Lớp trừu tượng database ( Database Abstraction) Xử lý Session Cookie ( Session and Cookie Handling) Gởi mail, lịch biểu, phân trang v.v Bên cạnh có rấ nhiều plugin cung cấp cộng đồng mà bạn thêm vào framework bạn  Mơ hình MVC (Pattern MVC Mơ hình View Controller Model ( MVC) tiếng từ năm 1979 trở lại đây, nhà khoa học người Na Uy tên Trygve Reenskaug lần miêu tả Mơ hình MVC hoạt động template engine, nhiên sử dụng cách vơ trách nhiệm, dẫn đến mã code xấu khó trì Nhập mơn Cơng nghệ phần mềm Page 26 Đại học Công nghiệp Hà Nội Cách mà mơ hình MVC áp dụng cho tất ứng dụng PHP bạn sau: - Model: đại diện cho cấu trúc liệu bạn, thường giao tiếp với sở - liệu View: chứa trang mẫu để hiển thị liệu cho người dùng Controller: nhiệm vụ điều hướng yêu cầu người dùng đến - trang web Kiểu tách theo phần làm cho mã code bạn hơn, trì dễ dàng  Tính bảo mật - Trong PHP bạn tìm thấy nhiều hàm lọc liệu đầu vào đầu để bảo vệ trang web bạn chống lại công người muốn phá bạn Tuy nhiên sử dụng cách thủ công hàm làm cho - bạn cảm thấy mệt bạn quên sau khoảng thời gian định Với Framework hầu hết cơng việc thực cho bạn cách tự động, ví dụ Codeigniter, Zend frameword, Bất ký giá trị lưu xuống database chúng lọc qua hết để chống công SQL - Injection Tất hàm tạo html form helpers url helpers giúp lọc giá trị output cách tự động Và chúng lọc liệu input người dùng để chống lại việc cơng XSS Bên cạnh chúng mã hóa cookie tự động cách thay đổi cấu hình thiết lập  Viết mã phát triển nhanh - Tất nhiên việc tiếp cận PHP Frameword dễ không khó bạn Nhưng bạn vượt qua, bạn học framework framework khác nhẹ nhàng cho bạn học, bạn tận hưởng lợi ích phát triển ứng dụng cách nhanh - chóng Bạn viết mã hơn, có nghĩa đỡ tốn thời gian đánh máy Bạn khơng cần tích hợp thêm thư viện bên thứ cho dự án hầu hết số thư viện tích hợp Framework bạn Ngồi bạn dùng Framework cấu trúc bạn tổ chức hơn, trì thay đổi nhanh Nhập mơn Cơng nghệ phần mềm Page 27 Đại học Công nghiệp Hà Nội  Hỗ trợ cộng đồng Tất PHP Framework phổ biển ln có cộng đồng sử dụng bạn liên hệ với nhà phát triển để nhận giúp đỡ, thơng tin phản hồi từ cộng đồng Bạn học nhiều cách duyệt qua diễn đàn chuyên Framework để xem người hỏi trả lời câu hỏi liên quan đến Framework  Cơ hội việc làm - Bạn nhìn vào thông tin tuyển dụng gần đây, hầu hết số nhà tuyển dụng yêu cầu bạn phải biết dùng hai - Framework hay CMS chúng Kinh nghiệm với PHP Frameworks làm tăng đáng kể trình độ cơng việc bạn nhà phát triển web - web developer  Hiệu suất - Một lý lẽ từ người phản đối kèm chủ đề hiệu suất bạn xây dựng ứng dụng "Hello World" với PHP Framework code PHP Tuy nhiên mặt xấu Trước hết bạn nên hiểu nhà phát triển có nhiều tốn - máy chủ, tốn mặt thời gian phát triển bảo trì mã nguồn Framework đại tuyệt vời với khả load động load phần cần thiết, trang khác load phần khác thư viện code, thứ mà trang cần để hiển thị cho người dùng  Thích hợp cho làm việc nhóm Cách tổ chức dự án PHP Framework giúp bạn tạo môi trường thích hợp cho làm việc theo nhóm Bạn cho thiết kế làm việc Views, chuyên viên sở liệu làm việc Models tất nhiên lập trình viên xây dựng thư viện, plugin tái sử dụng Nhập môn Công nghệ phần mềm Page 28 Đại học Công nghiệp Hà Nội  Và… thú vị - Điều thực điểm quan trọng tất Khi bạn vui - vẻ làm việ c bạn, bạn có suất cao hạnh phúc Nếu bạn code PHP nhiều năm cảm thấy buồn chán với nó, việc bắt đầu Framework cung cấp cho bạn khích lệ tinh thần Nó giống bạn nhận đồ chơi xây dựng thứ mẻ với Ít cho tơi cảm thấy điều mẻ lần tiếp xúc với Framework Tôi chắn nhiều người số nhà phát triển web trải qua tương tự Nhập môn Công nghệ phần mềm Page 29 Đại học Công nghiệp Hà Nội 3.3 So sánh phần mềm sử dụng framework phần mềm khơng sử dụng Tiêu chí Có sử dụng framework Tính phổ biến cộng đồng • Ngắn gọn dễ hiểu • Tính bền vững Cộng đồng sử dụng framework ngày tăng, thể tính chuyên nghiệp • Nhiều người làm hiểu được, dễ dàng phát triển Xây dựng theo quy tắc chuẩn, dễ dàng cho nắm quy tắc • Mã nguồn dài so với toán nhỏ, hữu ích với tốn lớn • Có thể tiếp tục phát triển theo thời đại Hỗ trợ • Kỹ thuật Bảo mật • • Khả tích hợp • • • Sử dụng lại Khả kế thừa Được cộng đồng rộng lớn sở dụng nên khả hộ trợ cho phát triển ngày tăng Tuân theo quy tắc Có riêng class phục vụ cho việc bảo mật, framework tổ chức cho phần mềm hàm để bảo mật Có thể phát triển lên dễ dàng Nhiều hệ thống giao tiếp dễ dàng với Dễ dàng thêm thiết bị bên ngồi Có thể sử dụng class, tài ngun nhiều lần • Khi tích hợp với hệ thống khác sử dụng tài nguyen • Quy định implements để sau kế thừa phát triển • Nhập môn Công nghệ phần mềm Page 30 Không sử dụng framework • Số người dử dụng giảm dần • Người khác khó tiếp cận phát triển • Đơn giản với tốn nhỏ, khó với tốn lớn Khó phát triển lâu dài quy mơ • Khó hỗ trợ, Người khác khó hiểu code • • • Khơng theo quy tắc Sự hỗ trợ bảo mật Khó để phát triển Các hệ thống khác khó giao tiếp với • Rất khó thêm thiết bị khác • Sử dụng lại khó • Khi chuyển phải viết lại hồn tồn • • • Viết đến đâu phải quy định đến Đại học Công nghiệp Hà Nội Kết luận: Phần mềm sử dụng framework làm tăng hiệu làm việc, dễ dàng phát triển, an toàn nhiều so với phần mềm không sử dụng framework Nhập môn Công nghệ phần mềm Page 31 ... kết chặt lớp 1.7 Các tiêu chí đánh giá framework Khơng có tài liệu đề cập đến tiêu chuẩn để xây dựng framework Yếu tố định framework có tồn hay khơng chất lượng framework Một framework đánh giá... Một framework tốt phải nhận đánh giá cao từ người sử dụng 1.8 Tiêu chuẩn thiết kế kiến trúc framework Tiêu chuẩn quan trọng framework IEEE 1471, tiêu chuẩn IEEE cho việc mô tả kiến trúc framework. .. dựng ứng dụng PHP Framework đầy đủ đáp ứng hầu hết điều kiện cần đủ cho việc xây dựng dự án Nói tới Framework bật là: Zend Framework, CodeiGniter Framework, CakePHP Framework, … Các framework phổ

Ngày đăng: 18/11/2017, 19:27

Từ khóa liên quan

Mục lục

  • 1. Tổng quan về framework.

    • 1.1 Framework là gì?

    • 1.2 Cái nhìn sơ qua về frameworks.

    • 1.3 Một số frameworks phổ biến.

    • Cách thức làm việc của một framework

    • 1.4 Phân biệt framework với các khái niệm khác

    • 1.5 Bản chất của framework

    • 1.6 Phân loại.

    • 1.7 Các tiêu chí đánh giá framework

    • 1.8 Tiêu chuẩn thiết kế kiến trúc framework.

    • 2. Một số framework

      • 2.1 Framework Hibernate.

        • 2.1.1 Persistence Layer

        • 2.1.2 Hibernate

        • 2.1.3 Các tính năng của Hibernate.

        • 2.1.4 Kiến trúc Hibernate

        • 2.1.5 Các thành phần của ứng dụng Hibernate.

        • 2.1.6 Persistence Class

        • 2.1.6 Mapping file

        • 2.1.7 Hibernate Configuration file

        • 2.1.8 Đánh giá Hibernate framework

        • 2.2 PHP framework

        • 3.3 So sánh phần mềm sử dụng framework và phần mềm không sử dụng

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan