编程思考
文章平均质量分 82
nchen123
这个作者很懒,什么都没留下…
展开
-
写了一个八皇后解法
先用最笨的穷举法求解,有空再研究更好的解法:# -*- coding: gb2312 -*-size = 8 # 棋盘大小EMPTY = "O" # 空位QUEEN = "X" # 皇后# 查看棋盘的信息def show_board(cols): for i in range(1, size + 1): for j in range(1, size原创 2006-01-08 16:21:00 · 394 阅读 · 0 评论 -
扫雷程序实现之 part 1
先贴一点上来。随后我会抽时间做一些设计模式的分析:)/**/////////////////////////////////////////////////////////////////////// // Project: 扫雷// Author: Chen Rong// History: // v1.0 2004,原创 2005-07-07 20:21:00 · 308 阅读 · 0 评论 -
没事练习一下算法:全排列的递归算法。
using System;namespace TotalSort{ /**//// /// 全排列的递归算法 /// class Class1 { /**//// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] a原创 2005-06-21 11:22:00 · 332 阅读 · 0 评论 -
面向对象编程(OOP)和函数式编程(FP)的思考
最近看过不少 JavaScript 的类(实际是嵌套 function),自己也写了一些,发现一个值得思考的问题。有的作者可能为了提高一点性能,喜欢有事没事把方法里面的某个变量做成类的字段(attribute)。而实际上,这些变量往往作用域在单个方法内一样工作的很好,就是说从逻辑上讲,是不需要在几个方法之间分享这些变量的。比如:function SomeClass(){ var原创 2007-07-24 17:17:00 · 1639 阅读 · 0 评论 -
状态机学习及对一段 java 代码的改写
《敏捷软件开发:原则、模式与实践》这本书中的第 29 章讲解了 State 模式,例子是地铁里的十字转门。书中对于状态机的实现,有一个范例是使用迁移表来实现(程序 29.12, P382),这里不列出详细代码。我在这个例子里面了解到,原来 java 还支持 private interface,并且可以不创建接口的实例,而直接生成一个实现了接口的对象。使用的语法是类似于 C# 里匿名函数一样原创 2006-08-29 17:19:00 · 705 阅读 · 0 评论 -
[阅读随想] 动态语言 DSL 和 Xml 配置 / 仪式和本质
1. http://haacked.com/archive/2008/04/18/dynamic-language-dsl-vs-xml-configuration.aspx2. http://blog.thinkrelevance.com/2008/4/1/ending-legacy-code-in-our-lifetime现在我们的编程手法已经越来越复杂化,随着设计模式的普及,各种 P原创 2008-04-21 00:16:00 · 809 阅读 · 0 评论 -
用状态机模式消除复杂的 if else 逻辑
前一阵开发的一个 web 界面上有很多诸如“按钮隐藏显示”,“边框隐藏显示”,“伸缩” 等效果的切换,在展示不同内容的时候,这些配套的显示控件需要跟着切换不同的状态。迫于进度,使用的是 if..else, 或者 switch..case 的繁杂的 js 代码来实现这些状态的判断和转换。js 代码很快到了 400~500行,变得很难理解。并且我要加入新的状态切换的时候感觉比较困难。今天决心重原创 2007-04-16 18:17:00 · 2205 阅读 · 0 评论 -
一个小的算法问题解决
问题在这里:http://twobug.cnblogs.com/archive/2005/09/30/247550.html我的代码:SCRIPT LANGUAGE="JavaScript">/*题目描述: 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何原创 2005-10-01 01:21:00 · 267 阅读 · 0 评论 -
观察者模式(Observer Pattern)
随手画了一张图,就 C# 的实现而言。原创 2005-06-27 00:22:00 · 346 阅读 · 0 评论