@pcinfogmach
לפעמים זה נכון,
קח לדוגמה את המאגר של היברו בוקס,
מדובר על מאות גיגה! [קרוב ל650]
אם ניצור אינדקס באמצעות הספריה הזאת,
כמה זה ישקול?......
קרוב ל2 TB!
לא בדקתי את הכל, אבל יש לי שיפור לרג'קס במתודה updateText
private void UpdateText()
{
Inlines.Clear();
string pattern = @"(<([bi])>(.*)</\1>)"; // Example pattern for bold and italic tags
int lastPos = 0;
var matches = Regex.Matches(HighlightedText, pattern);
foreach (Match match in matches)
{
// Add text before the match
if (match.Index > lastPos)
{
Inlines.Add(new Run(HighlightedText.Substring(lastPos, match.Index - lastPos)));
}
Inlines.Add(match.Groups[1].Value switch
{
"b" => new Bold(new Run(match.Groups[2].Value)),
"i" => new Italic(new Run(match.Groups[2].Value)),
});
lastPos = match.Index + match.Length;
}
// Add remaining text after the last match
if (lastPos < HighlightedText.Length)
{
Inlines.Add(new Run(HighlightedText.Substring(lastPos)));
}
}
זה ברור כשמש שכן, אם אתה סוגר את הDLL על .NET Standard אז אתה לא יכול בקוד להשתמש בשום קוד שאינו חלק ממחלקות שמוגדרות כ .NET Standard, ולכן כל ספריה שמשתמשים איתה כולל שימוש בקבצים הינם מחלקות חוצי פלטפורמות (שזה אולי נשמע לך מיוחד אבל זה בכלל לא, למשל JAVA או NODE תמיד התאימו לכמה פלטפורמות).
תלוי באיזה סדר גודל של viewModels מדובר
וגם בכמה סוגי עדכונים
לא יודע מה הדרך הנכונה אני רק יודע לומר מה אני הייתי עושה
אם זה עדכון אחד או שתים...
הייתי עושה event
אבל אם זה יותר מזה (אז זה אומר ששני הviews הם בעצם שייכים לאותם נתונים פחות או יותר)
הייתי עושה viewModel יחידי לשניהם
יש בעיה בהסרת ניקוד וטעמים כאשר מופיע מקף עליון שצריך להחליף אותו ברוווח אחרת זה יחבר שני מילים
הנה הקוד המתוקן עבור שימוש ב- stringbuilder
public static string RemoveHebrewDiactrics(this string input)
{
var sb = new StringBuilder(input.Length);
foreach (var c in input)
if (c == '־')
sb.Append(' ');
else if (c > 1487 || c < 1425)
sb.Append(c);
return sb.ToString();
}
הערה: אישית אני ראיתי תועלת גדולה ב-mvvm, למרות שביישום של commands לא כל כך ראיתי תועלת בפרוייקטים שלי כי לרוב זה לא היה נצרך ורק הפך את הקוד למסורבל, בכל אופן הדוגמא דלהלן כוללת אותם לצורך ההדגמה ואפשר לראות כיצד הם 'מחליקים' את פעולת התוכנה, כמו"כ הוספתי קיצורי מקשים דרך ה-commands מה שמדגים את השימושיות שלהם.
@dovid
ייתכן שהיה פה בלבול בין xaml ל-ribbon xml
לא יודע אם המושג MVVM כמות שהוא באמת שייך ליישום ב-ribbon xml
אולי צריך פה מבנה אחר אני לא בקי מספיק במבני תוכנה כדי לדעת מה המבנה הנכון פה