- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang nghĩ đến việc sử dụng chế độ đăng ký trong ứng dụng của mình để lưu trữ các con trỏ yếu tới các cửa sổ và khung ứng dụng nhất định. Cấu trúc chung của ứng dụng được hiển thị dưới đây.
Ứng dụng này có cửa sổ cấp cao nhất MainFrame với một số Bảng con. Có thể có nhiều tab dựa trên loại TabPane. Tôi cần tham chiếu bảng ParamsPane từ tất cả các tab TabPane của mình, vì vậy tôi cần một con trỏ tới đối tượng ParamsPane để được lưu trữ ở đâu đó. Có nhiều tùy chọn, nhưng rõ ràng nhất là (1) lưu trữ con trỏ trong đối tượng Singleton Ứng dụng hoặc (2) tạo một lớp đăng ký đơn giản. Một cái gì đó như thế này:
sổ đăng ký lớp {
public:
ứng dụng MainApp* tĩnh;
MainWindow* mainWindow tĩnh;
};
Đây có phải là một thực hành tốt? Những lợi ích và lưu ý của phương pháp này là gì?
câu trả lời hay nhất
Nó phụ thuộc vào lý do tại sao bạn muốn trích dẫn Thông sốPane
. Tôi có thể nghĩ ra hai lý do và hai giải pháp khác nhau.
bạn muốn cập nhật Thông sốPane
dữ liệu trong vì TabPane
Dữ liệu trong đã thay đổi.
Nếu dữ liệu này hoàn toàn có thể tách biệt khỏi Chế độ xem thì điều bạn có thể nên làm là tách nó ra. điều này có nghĩa là theo sau Model-View-Controllermẫu. Thông sốPane
Và TabPane
Các trường hợp có thể truy cập mô hình riêng lẻ. Vì vậy, không có tài liệu tham khảo trực tiếp giữa hai.
Có một số mối tương quan chặt chẽ giữa hai điều này và không liên quan gì đến dữ liệu.
Nếu các điểm được đề cập trước đó không liên quan và có mối liên hệ chặt chẽ giữa hai bảng, bạn có thể cân nhắc viết một bài viết cụ thể TabPane
lớp, nơi lưu trữ các cặp Tham khảo ParamsPane<
loại.
Tôi cảm thấy cả hai giải pháp đều tốt hơn phương pháp đơn lẻ hoặc "đăng ký". Lưu ý rằng tôi chưa bao giờ nghe nói về mẫu này trước đây nhưng tôi tin rằng tôi hiểu ý định của nó. Thông tin thêm về lý do tại sao các đối tượng trạng thái toàn cầu (cụ thể hơn là các đối tượng đơn lẻ) là một thực tiễn tồi có thể được tìm thấy ở đây .
Về c++ - chế độ đăng ký: sử dụng hay không sử dụng, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/5424982/
Tôi gặp sự cố khi tối ưu hóa THAM GIA để sử dụng chỉ mục tổng hợp. Truy vấn của tôi là: CHỌN p1.id, p1.category_id, p1.tag_id, i.rated TỪ sản phẩm p1
Tôi có một truy vấn SQL đơn giản mà tôi đang cố gắng tối ưu hóa để loại bỏ "sử dụng vị trí; sử dụng tạm thời; sử dụng sắp xếp tệp". Đây là bảng: TẠO BẢNG `special_offers` ( `so_id` int
Tôi có một bảng ứng dụng có cấu trúc sau app_id VARCHAR(32) NOT NULL, không hoạt động VARCHAR(6) NOT NULL, user_id INT(10) NOT NULL
Chỉ mục chính xác cho truy vấn này là gì. Tôi đã thử đưa ra các kết hợp chỉ mục khác nhau cho truy vấn này nhưng nó vẫn sử dụng các tệp tạm thời, sắp xếp tệp, v.v. Tổng dữ liệu bảng - 7,60,346 Sản phẩm = 'Váy' - Tổng số hàng = 122 554 TẠO TAB
Tại sao phần bổ sung là "sử dụng ở đâu; sử dụng chỉ mục" thay vì "sử dụng chỉ mục". TẠO BẢNG `pre_count` ( `count_id`
Tôi có một cơ sở dữ liệu với số lượng lớn bản ghi và khi tôi tải trang bằng SQL sau, nó rất chậm. CHỌN target.title, max(updates.date_updated) làm update_sort F
Tôi muốn biết sự khác biệt giữa Sử dụng điều kiện chỉ mục và Sử dụng ở đâu; Tôi nghĩ cả hai phương pháp đều sử dụng chỉ mục để lấy tập bản ghi kết quả đầu tiên và sử dụng điều kiện WHERE để lọc. Q1. Có gì ở đó
Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: { "
Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: { "
Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: Tôi đang sử dụng phiên bản TypeScript 5.2, tôi có thiết lập sau: { "
mysql Ver 14.14 Distrib 5.1.58 cho redhat-linux-gnu (x86_64) sử dụng readline 5.1 Tôi đang tiếp quản một dự án cũ. Tôi được yêu cầu tăng tốc. tôi vượt qua
Trong hơn 10 năm qua, tôi đã mở kết nối tới cơ sở dữ liệu (mysql) và giữ nó mở cho đến khi đóng ứng dụng. Tất cả các truy vấn được thực hiện trên kết nối. Bây giờ khi tôi xem các ví dụ trên trang web Servicestack, tôi luôn thấy
Tôi đã xây dựng một diễn đàn tùy chỉnh cho trang web của mình bằng MySQL. Trang danh sách về cơ bản là một bảng có các cột sau: Chủ đề, Cập nhật lần cuối và #Trả lời. Bảng cơ sở dữ liệu có các cột sau: id tên nội dung ngày topic_id
Trong các trường bổ sung được giải thích trong mysql, bạn có thể nhận được: sử dụng chỉ mục bằng cách sử dụng ở đâu; sử dụng chỉ mục sự khác biệt giữa hai trường này là gì? Để giải thích rõ hơn vấn đề của tôi, tôi sẽ sử dụng bảng sau: CREATE TABLE `test` ( `id` bi
Tôi thường thấy mọi người sử dụng từ khóa sử dụng trong mã Haxe của họ. Có vẻ như là sau câu lệnh nhập khẩu. Ví dụ: tôi tìm thấy đoạn mã này: import haxe.macro.Context; import haxe.ma;
Câu hỏi này đã có câu trả lời ở đây: "giảm" hoặc "áp dụng" bằng cách sử dụng các hàm logic trong Clojure (2 câu trả lời) Đã đóng 8 năm trước. "và" có vẻ là macro,
Câu hỏi này đã có câu trả lời ở đây: "giảm" hoặc "áp dụng" bằng cách sử dụng các hàm logic trong Clojure (2 câu trả lời) Đã đóng 8 năm trước. "và" có vẻ là macro,
Tôi đang nghĩ đến việc sử dụng chế độ đăng ký trong ứng dụng của mình để lưu trữ các con trỏ yếu tới các cửa sổ và khung ứng dụng nhất định. Cấu trúc chung của ứng dụng được hiển thị dưới đây. Ứng dụng này có cửa sổ cấp cao nhất MainFrame với một số Bảng con. có thể có
Điều kỳ lạ là:. Có vẻ như a là b ít nhiều được định nghĩa là id(A)==id(B). Cách này rất dễ mắc sai lầm:. Một số tên xuất hiện bất ngờ trong khối Else. Giải pháp rất đơn giản, chúng ta nên sử dụng ext=='.mp3', nhưng nếu bề mặt ext
Tôi đã gặp phải một vấn đề về MySQL mà dường như tôi không thể giải quyết được. Để có thể nhanh chóng thực hiện các truy vấn GROUP BY cho mục đích báo cáo, tôi đã không chuẩn hóa một số bảng sau (bảng được duy trì bằng trình kích hoạt trên các bảng khác và tôi đã đồng ý với điều này): DROP T
Tôi là một lập trình viên xuất sắc, rất giỏi!