Доступ к глобальным настройкам приложения
Приложение базы данных, над которым я сейчас работаю, хранит в базе данных всевозможные настройки. Большинство этих настроек предназначены для настройки определенных бизнес-правил, но есть и некоторые другие вещи.
Приложение содержит объекты, которые специально выполняют определенную задачу, например, определенный сложный расчет. Эти объекты, не относящиеся к UI, проходят модульное тестирование, но также нуждаются в доступе ко многим глобальным настройкам. Мы реализовали это прямо сейчас, предоставив свойства объектов, которые заполняются контроллером приложения во время выполнения. При тестировании мы создаем объекты в тесте и заполняем значения для тестирования (не из базы данных).
Это работает лучше, во всяком случае намного лучше, чем иметь все эти объекты, нуждающиеся в некотором объекте глобальных настроек -что, конечно, эффективно делает модульное тестирование невозможным :) недостатком может быть то, что вам иногда нужно установить дюжину свойств, или что вам нужно позволить этим свойствам 'percolate' в подобъекты.
Таким образом, общий вопрос заключается в следующем : как обеспечить доступ к глобальным настройкам приложений в ваших проектах без необходимости использования глобальных переменных, сохраняя при этом возможность модульного тестирования кода? Это должно быть проблема, которая была решена 100 раз...
(Примечание: Я не слишком опытный программист, как вы уже заметили; но я люблю учиться! И конечно, я уже провел исследование по этой теме, но я действительно ищу некоторые непосредственные впечатления)
ArgumentNullException для целого числа
В.NET, является ли более подходящим исключение аргумента null для целого числа, если значение равно Integer.MinValue или Integer = 0 (при условии, что 0 не является допустимым значением)?
Как запаролить блог на wordpress?
Есть такой вопрос: существует блог на движке wordpress, нужно сделать так, чтобы юзеры могли просматривать его только после ввода пароля, логин вводить не обязательно. Подскажите, как это можно организовать? Может быть есть какой то плагин?
"Черный список" для Chrome
Подскажите, может быть есть такое расширение. В частности, хочу чтобы на сайтах не грузился яваскрипт с addthis.com и подобных сервисов. Мне они не нужны, а сайты подтормаживают.
ООП Delphi 7
Может вопрос будет и тупой и у многих возникнет желание понизить мне карму и рейтинг, но тем не менее я его задам. Нужна литература, где кратко и в тоже время ПОНЯТНЫМ языком описано объекто-ориентированное программирование в Delphi. Можно даже на английском языке, лишь бы было понятно. Спасибо за понимание
Проиграть видео с youtube в gnash?
Подскажите пожалуйста, как проиграть потоковое видео с youtube или других сайтов в gnash? Поиск не дал ответа пока, нашёл страничку где есть объяснения, но метод не раскрыт и информация явно устаревшая.
Влияние минуса(плюса) на карму
Такие вопросики,
1. Если я минусую карму какому-либо пользователю, то моя карма отнимается?
2. Или я даю плюс в карму то как ведет себя моя карма при этом?
3. Если у меня кармы 200 а у пользователя которому я делаю +(-) 5 карма, то его карма измениться на единицу или будет выщитано по какой-то там формуле и к примеру измениться на 15 вверх или вниз? и наоборот, может человек с кармой 2 повлиять на пользователя с кармой 300?
Я понимаю что было бы у меня достаточно кармы я бы сам проверил но её к сожалению нету. Так что заранее спасибо.
Функция glob() в PHP?
Буквально недавно в проекте потребовалась функция поиска файлов по маске glob(). Но вот пока в раздумьях, стоит ли ее использовать, и насколько сильно она грузит сервер.
Задача такова:
Есть объект, предположим, автомобиль, у него есть 20-30 фотографий, которые складируются в 5 папок с разными размерами. Соответетсвенно при наличии в базе 20-30000 объектов фотографий может быть примерно около 150-200 000 файлов. Поиск по маске будет выполняться нечто типа такой: "/path/photos/[obj_id]_*.jpg" Так вот, что-то меня очень сильно смущает в использовании этой функции… И нигде не могу нарыть информацию о нагрузках.
Материалы по работе с JS в IE
Доброго дня!
Подскажите, пожалуйста, может есть книга какая, или ресурс, где была бы собрана воедино вся информация (ну вернее как можно больше) по написанию кроссбраузерного JS. А то все, что нахожу, как бы гордо себя ни позиционировало — обычно очередной копипаст одних и тех же «трюков». Причем интересуют материалы не по JS в целом, а именно те материалы, где рассказывается, как в IE делать нельзя, а как делать можно только в IE :)
Борьба с порчей папок на флешках
После каждого похода в универ, все папки на флешке запарываются вирусом и превращаются в выполняемые .exe. Проблема усугубляется тем, что папка, порой, портится до сдачи домашнего задания… В последнее время всё кладу в zip архив, но это неудобно. Что делать, как защитить папки на флешке от такой напасти?
- «
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »