程序一旦发觉写得不理想,那就得重构它
早上有写一篇《设计模式--建造者(Builder)模式》http://www.cnblogs.com/insus/p/4179620.html。是在ASP.NET环境中,应用与演示设计模式(Builder)。现在Insus.NET从博文中最后的下载链接下载取源程序,它是有写得不够理想,现在重构它。
问题点,网页中只有一个PlaceHolder容器,不能所有生成的部件都生成在一个容器中,而是为了定位,放在几个地方,有可以是左也有可能是右。PlaceHolader的Id会随网页的变化,它尽不相同。
另一个问题,部件名称_PageParts["header"],_PageParts["content"],_PageParts["footer"]等等。在开发时,它在两个类别出现。写起来有可以会拼错。
针对这两个大问题,Insus.NET决定重构这些程序。统一部件名称:
重构WebPage类:
重构具体类NewsPages:
相同的手法重构具体类ArticlePages:
xxx.aspx.cs:
和:
日后,我们只管开发用户控件和网页即可。一些类没有必要做更多修改。达到动态加载与方便维护。
源程序:
http://download.cnblogs.com/insus/Refactoring/builder_refactoring.rar
转载于:https://www.cnblogs.com/insus/p/4180186.html
程序一旦发觉写得不理想,那就得重构它相关推荐
- 程序员如何写简历?来自硅谷的八条建议
转载自 程序员如何写简历?来自硅谷的八条建议 前言 半个月前我发起了程序员内推项目之后,收到一些邮件,对方单纯希望我帮忙优化一下简历.我提了一些修改意见之后,有一位同学专门给我送了一张亚马逊的礼品卡 ...
- 为什么好的程序员会写出糟糕的单元测试?
恭喜你!在写了无数行代码之后你终于可以买一套海景别墅了.你雇了世界著名的摩天大楼建筑师 Peter Keating,他向你保证他设计的海景别墅是最好的. 几个月后你终于迎来了剪彩的时刻.新房子是一栋人 ...
- 技术总监谈好的程序员如何写代码[转]
技术总监谈好的程序员如何写代码[转] 要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码. 即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的 ...
- 优秀的程序员!=爱写博客的程序员
前几天我面试一个程序员,连续几个专业问题他都没答上来. 尴尬之余,我问他:「你没有什么理想吗?你现在最渴望的事情是什么?」 他转悠着大眼睛,不假思索道:「回去写篇博客,记录下这次面试的经验!」 真没想 ...
- 程序,软件,产品,理想 知易行难
最近几天经常看到新闻,80年后的创业者,创业人,网络,创意经济,年纪轻轻却掌握着亿万资产,象李想之辈的人真是令人佩服,可以说他已经把我们这些同一代的人远远的抛开了,如果我是现在在走路 的话,他们可以说 ...
- [转]为什么程序员总是写糟糕的代码?这3个原因
原文请看:为什么程序员总是写糟糕的代码?这3个原因 我最近一直在想我们作为一个行业为什么总是产出糟糕代码的原因. 1.明显原因-- 我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有 ...
- 有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,
题目:有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,请问小白同学最少调用几次该函数,可以找出其中最大的三个数? A.5 B.6 C.7 D.8 答案:C 解析:第一 ...
- java面试题25 在程序代码中写的注释太多,会使编译后的程序尺寸变大。
java面试题25 在程序代码中写的注释太多,会使编译后的程序尺寸变大. A:正确 B:错误 蒙蔽树上蒙蔽果,蒙蔽树下你和我 拿到这道题,我觉得说的贼有道理,注释太多,尺寸变大.无疑与就和驾考 一样, ...
- 卖掉 3000 平房子,50 岁程序员回国写代码,三个月内融资 2000 万美元
2019年7月12日,10多万行C代码的中国物联网大数据平台 TDengine 在 GitHub开源,立即冲上 GitHub 榜首,整整五天霸榜 GitHub.目前该项目在 GitHub 上 Star ...
最新文章
- ESPNet系列:自动驾驶领域轻量级分割模型
- php fatal class ziparchive not found,php中Fatal error: Class ZipArchive not found的解决办法
- linux i2c子系统看不懂啊,Linux 下的I2C子系统
- spring编程式事务控制
- 整数转罗马数字Python解法
- gbk 转 UTF-8
- HTML怎么做类似QQ聊天气泡,h5实现QQ聊天气泡的实例介绍
- HashSet源码解析(最好先看HashMap的源码解析)
- 强烈谴责中国红十字会
- 关于手动栈 (模板)
- Dataset XML 序列化,什么是序列化
- 刚装的matlab R2010a运行quad2d时提示找不到指定的程序! 提示信息: libmwblas: load error: csrot Caught
- ARTS-26(leetcode-119. 杨辉三角 II,AVOD最详细过程,Git用法,DMA原理,海天味业的企业估值(1))
- Opencv4 c/c++学习笔记(一)
- 严格对角占优矩阵特征值_对角占优矩阵的性质.doc
- 用 Web 技术为 Safari 编写扩展
- 怎样用计算机玩CS,电脑建立局域网玩cs的三种方法
- 绑定变量窥视 oracle,Oracle bind peeking(绑定变量窥视)
- [AHK]如何更改键盘快捷方式,在 Windows 10 中的虚拟桌面之间切换
- 魅族16th完美开启Usb调试模式的经验
热门文章
- 局域网打印机反应慢_为什么你的Excel这么慢,这些原因必须要知道!
- lte核心网由哪些设备组成_电气设备安装工程由哪些部分组成?
- mysql撤销用户授权_mysql用户授权及撤销
- python参考文献_[zotero/python]库中参考文献条目删除后,清除残留PDF的脚本
- layout布局_安卓最常见的几种布局
- 数据结构与算法python描述_数据结构与算法——Python语言描述.pdf
- android webview 字体 系统字体大小,Android 系统字体大小动态改变,导致webview中显示不兼容的问题解决...
- javascript 唯一值的集合 Set对象
- MySQL 数据库恢复
- MySQL 删除视图